[11492] in Kerberos-V5-bugs

home help back first fref pref prev next nref lref last post

[krbdev.mit.edu #6697] segfault caused by dlerror returning NULL

daemon@ATHENA.MIT.EDU (Arlene Berry" via RT)
Mon Apr 12 16:39:51 2010

Mail-followup-to: rt@krbdev.mit.edu
mail-copies-to: never
From: ""Arlene Berry" via RT" <rt-comment@krbdev.MIT.EDU>
In-Reply-To: <rt-6697@krbdev.mit.edu>
Message-ID: <rt-6697-32702.14.1152672749855@krbdev.mit.edu>
To: "'AdminCc of krbdev.mit.edu Ticket #6697'":;"'AdminCc of krbdev.mit.edu Ticket #6697'":;@MIT.EDU
Date: Mon, 12 Apr 2010 16:39:49 -0400 (EDT)
Reply-To: rt-comment@krbdev.MIT.EDU
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Errors-To: krb5-bugs-bounces@mit.edu

We experienced a segfault due to dlerror returning NULL.  We suspect it
was due to our application being multi-threaded.  We made the change
below to fix it.  However, there is a second use of dlerror in the same
file that should probably be fixed as well.

 

Index: src/linux/krb5/src/util/support/plugins.c

===================================================================

--- src/linux/krb5/src/util/support/plugins.c        (revision 43141)

+++ src/linux/krb5/src/util/support/plugins.c     (revision 43142)

@@ -267,6 +267,10 @@

             handle = dlopen(filepath, PLUGIN_DLOPEN_FLAGS);

             if (handle == NULL) {

                 const char *e = dlerror();

+                if (e == NULL)

+                {

+                    e = "";

+                }

                 Tprintf ("dlopen(%s): %s\n", filepath, e);

                 err = ENOENT; /* XXX */

                                krb5int_set_error (ep, err, "%s", e);


_______________________________________________
krb5-bugs mailing list
krb5-bugs@mit.edu
https://mailman.mit.edu/mailman/listinfo/krb5-bugs

home help back first fref pref prev next nref lref last post