Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

PATCH: Handle NULL return from dlerror() more gracefully



Found by Daniel Hahler on irc,
<blueyed> > module_path=() ; zmodload -F zsh/stat b:zstat
<SweetieBot> blueyed: zsh[239]: segfault at 0 ip 080be250 sp bfe11d20 error 4 in zsh[8048000+95000]

---
 Src/module.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/Src/module.c b/Src/module.c
index 616207e..e78bd82 100644
--- a/Src/module.c
+++ b/Src/module.c
@@ -1596,8 +1596,9 @@ do_load_module(char const *name, int silent)
     ret = try_load_module(name);
     if (!ret && !silent) {
 #ifdef HAVE_DLERROR
+	char *errstr = dlerror();
 	zwarn("failed to load module `%s': %s", name,
-	      metafy(dlerror(), -1, META_USEHEAP));
+	      errstr ? metafy(errstr, -1, META_USEHEAP) : "empty module path");
 #else
 	zwarn("failed to load module: %s", name);
 #endif
-- 
2.2.0.GIT



Messages sorted by: Reverse Date, Date, Thread, Author