aboutsummaryrefslogtreecommitdiff
path: root/lib/libc/stdlib
diff options
context:
space:
mode:
authorKonstantin Belousov <kib@FreeBSD.org>2010-08-27 19:57:17 +0000
committerKonstantin Belousov <kib@FreeBSD.org>2010-08-27 19:57:17 +0000
commit3eaca8526c379d09c13e9a30f45cd7ea6ce886f1 (patch)
treebfbca42a221bd8aa3f879a04094d8d688a9408d6 /lib/libc/stdlib
parentb47f51b4a0739e624c34677044a6a5cc5b8faeb3 (diff)
downloadsrc-3eaca8526c379d09c13e9a30f45cd7ea6ce886f1.tar.gz
src-3eaca8526c379d09c13e9a30f45cd7ea6ce886f1.zip
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
Notes
Notes: svn path=/head/; revision=211894
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 97cf23446590..511172aef9ae 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);
}