summaryrefslogtreecommitdiffstats
path: root/lib/libc/stdlib
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2010-08-27 19:57:17 +0000
committerkib <kib@FreeBSD.org>2010-08-27 19:57:17 +0000
commit58060e750b215eb1cc02635a6eedb72cb127db64 (patch)
treebfbca42a221bd8aa3f879a04094d8d688a9408d6 /lib/libc/stdlib
parent44b2b99c10c4f5dda2d1c2584f32b725cc696f95 (diff)
downloadFreeBSD-src-58060e750b215eb1cc02635a6eedb72cb127db64.zip
FreeBSD-src-58060e750b215eb1cc02635a6eedb72cb127db64.tar.gz
Do not call __pthread_cxa_finalize with invalid struct dl_phdr_info.
Reported and tested by: Fabian Keil <freebsd-listen fabiankeil de> MFC after: 17 days
Diffstat (limited to 'lib/libc/stdlib')
-rw-r--r--lib/libc/stdlib/atexit.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/libc/stdlib/atexit.c b/lib/libc/stdlib/atexit.c
index 97cf234..511172a 100644
--- a/lib/libc/stdlib/atexit.c
+++ b/lib/libc/stdlib/atexit.c
@@ -200,6 +200,6 @@ __cxa_finalize(void *dso)
if (dso == NULL)
_MUTEX_DESTROY(&atexit_mutex);
- if (&__pthread_cxa_finalize != NULL)
+ if (has_phdr && &__pthread_cxa_finalize != NULL)
__pthread_cxa_finalize(&phdr_info);
}
OpenPOWER on IntegriCloud