pull up r23929 from trunk
authorTom Yu <tlyu@mit.edu>
Wed, 19 May 2010 18:52:36 +0000 (18:52 +0000)
committerTom Yu <tlyu@mit.edu>
Wed, 19 May 2010 18:52:36 +0000 (18:52 +0000)
 ------------------------------------------------------------------------
 r23929 | tlyu | 2010-04-22 21:30:48 -0400 (Thu, 22 Apr 2010) | 7 lines

 ticket: 6697
 target_version: 1.8.2
 tags: pullup

 Adapted patch from Arlene Berry to handle dlerror() returning a null
 pointer.

ticket: 6697
version_fixed: 1.8.2
status: resolved

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/krb5-1-8@24058 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);