diff options
author | kib <kib@FreeBSD.org> | 2010-08-27 19:57:17 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2010-08-27 19:57:17 +0000 |
commit | 58060e750b215eb1cc02635a6eedb72cb127db64 (patch) | |
tree | bfbca42a221bd8aa3f879a04094d8d688a9408d6 /lib/libc/stdlib | |
parent | 44b2b99c10c4f5dda2d1c2584f32b725cc696f95 (diff) | |
download | FreeBSD-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.c | 2 |
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); } |