]> git.ipfire.org Git - thirdparty/krb5.git/commitdiff
Adapted patch from Arlene Berry to handle dlerror() returning a null
authorTom Yu <tlyu@mit.edu>
Fri, 23 Apr 2010 01:30:48 +0000 (01:30 +0000)
committerTom Yu <tlyu@mit.edu>
Fri, 23 Apr 2010 01:30:48 +0000 (01:30 +0000)
pointer.

ticket: 6697
target_version: 1.8.2
tags: pullup

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@23929 dc483132-0cff-0310-8789-dd5450dbe970

src/util/support/plugins.c

index fa7b36ebf8881e40e9752ba10c5aa517cd87a325..4e9225407a7a840b6f2e520dd8e45a1cdbcd1792 100644 (file)
@@ -268,6 +268,8 @@ krb5int_open_plugin (const char *filepath, struct plugin_file_handle **h, struct
             handle = dlopen(filepath, PLUGIN_DLOPEN_FLAGS);
             if (handle == NULL) {
                 const char *e = dlerror();
+                if (e == NULL)
+                    e = "unknown failure";
                 Tprintf ("dlopen(%s): %s\n", filepath, e);
                 err = ENOENT; /* XXX */
                 krb5int_set_error (ep, err, "%s", e);
@@ -335,6 +337,8 @@ krb5int_get_plugin_sym (struct plugin_file_handle *h,
         sym = dlsym (h->dlhandle, csymname);
         if (sym == NULL) {
             const char *e = dlerror (); /* XXX copy and save away */
+            if (e == NULL)
+                e = "unknown failure";
             Tprintf ("dlsym(%s): %s\n", csymname, e);
             err = ENOENT; /* XXX */
             krb5int_set_error(ep, err, "%s", e);