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