diff options
-rw-r--r-- | source3/lib/module.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/source3/lib/module.c b/source3/lib/module.c index 2abe918ef4..e469b1da42 100644 --- a/source3/lib/module.c +++ b/source3/lib/module.c @@ -40,9 +40,12 @@ static NTSTATUS do_smb_load_module(const char *module_name, BOOL is_probe) */ handle = sys_dlopen(module_name, RTLD_LAZY); + /* This call should reset any possible non-fatal errors that + occured since last call to dl* functions */ + error = sys_dlerror(); + if(!handle) { int level = is_probe ? 3 : 0; - error = sys_dlerror(); DEBUG(level, ("Error loading module '%s': %s\n", module_name, error ? error : "")); return NT_STATUS_UNSUCCESSFUL; } |