diff options
Diffstat (limited to 'src/module.c')
-rw-r--r-- | src/module.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/module.c b/src/module.c index da518d3..2f4915e 100644 --- a/src/module.c +++ b/src/module.c @@ -57,7 +57,6 @@ struct ug_module *ug_module_load(const char *name) int (*module_init) (struct ug_module_ops *ops); module = calloc(1, sizeof(struct ug_module)); - if (!module) { errno = ENOMEM; return NULL; @@ -103,6 +102,7 @@ struct ug_module *ug_module_load(const char *name) goto module_dlclose; module->handle = handle; + module->module_name = strdup(name); return module; module_dlclose: @@ -133,6 +133,9 @@ int ug_module_unload(struct ug_module *module) module->handle = NULL; } + if(module->module_name) + free(module->module_name); + free(module); return 0; } |