void *init_fn;
char *error;
-#if _SAMBA_BUILD_ == 3
- /* Always try to use LAZY symbol resolving; if the plugin has
- * backwards compatibility, there might be symbols in the
- * plugin referencing to old (removed) functions
- */
- handle = dlopen(path, RTLD_LAZY);
-#else
/* This should be a WAF build, where modules should be built
* with no undefined symbols and are already linked against
* the libraries that they are loaded by */
handle = dlopen(path, RTLD_NOW);
-#endif
/* This call should reset any possible non-fatal errors that
occured since last call to dl* functions */
/* Check for absolute path */
- /* if we make any 'samba multibyte string'
- calls here, we break
- for loading string modules */
-
DEBUG(5, ("%s module '%s'\n", is_probe ? "Probing" : "Loading", module_name));
if (subsystem && module_name[0] != '/') {
}
if (!init) {
+ TALLOC_FREE(ctx);
return NT_STATUS_UNSUCCESSFUL;
}
module_name, get_friendly_nt_error_msg(status)));
dlclose(handle);
}
-
+ TALLOC_FREE(ctx);
return status;
}