[11492] in Kerberos-V5-bugs
[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