diff --git a/sflphone-client-gnome/src/contacts/addrbookfactory.c b/sflphone-client-gnome/src/contacts/addrbookfactory.c index 6f6feead298a9d9e67e9cb68f438e77475661253..cd3e9a8af6b0b383ce1cfc709ef4639fb06cfcac 100644 --- a/sflphone-client-gnome/src/contacts/addrbookfactory.c +++ b/sflphone-client-gnome/src/contacts/addrbookfactory.c @@ -65,14 +65,14 @@ void abookfactory_load_module(AddrBookFactory *factory) { DEBUG("AddressbookFactory: Loading addressbook: %s", pluginpath); - ab = g_malloc(sizeof(AddrBookHandle)); - handle = dlopen(pluginpath, RTLD_LAZY); + g_free(pluginpath); if(handle == NULL) { ERROR("AddressbookFactory: Error: Could not load addressbook"); return; } - g_free(pluginpath); + + ab = g_malloc(sizeof(AddrBookHandle)); ab->init = dlsym(handle, "addressbook_init"); if(ab->init == NULL) {