Revision
17359
Author
anthm
Date
2010-04-21 09:53:26 -0500 (Wed, 21 Apr 2010)

Log Message

proper checking for dlerror on failed dso load

Modified Paths

Diff

Modified: freeswitch/trunk/src/switch_dso.c (17358 => 17359)


--- freeswitch/trunk/src/switch_dso.c	2010-04-21 13:26:54 UTC (rev 17358)
+++ freeswitch/trunk/src/switch_dso.c	2010-04-21 14:53:26 UTC (rev 17359)
@@ -127,7 +127,16 @@
 {
 	void *addr = dlsym(lib, sym);
 	if (!addr) {
-		*err = strdup(dlerror());
+		char *err_str = NULL;
+		dlerror();
+
+		if (!(addr = dlsym(lib, sym))) {
+			err_str = dlerror();
+		}
+
+		if (err_str) {
+			*err = strdup(err_str);
+		}
 	}
 	return addr;
 }