diff options
| author | Elliott Hughes <enh@google.com> | 2012-11-01 16:33:29 -0700 |
|---|---|---|
| committer | Elliott Hughes <enh@google.com> | 2012-11-01 17:27:07 -0700 |
| commit | 4f251bee5d51228217c1bf4dfc9219f3058bd3ed (patch) | |
| tree | 3d0f1faef6a38e494f8157e467e7fc0f876f6cd4 /linker/linker.cpp | |
| parent | 064f862d557ab741575dfae479499a07ca0ab742 (diff) | |
| download | bionic-4f251bee5d51228217c1bf4dfc9219f3058bd3ed.zip bionic-4f251bee5d51228217c1bf4dfc9219f3058bd3ed.tar.gz bionic-4f251bee5d51228217c1bf4dfc9219f3058bd3ed.tar.bz2 | |
Don't corrupt the thread list if the main thread exits.
...and don't pass a non-heap pointer to free(3), either.
This patch replaces the "node** prev" with the clearer "node* prev"
style and fixes the null pointer dereference in the old code. That's
not sufficient to fix the reporter's bug, though. The pthread_internal_t*
for the main thread isn't heap-allocated --- __libc_init_tls causes a
pointer to a statically-allocated pthread_internal_t to be added to
the thread list.
Bug: http://code.google.com/p/android/issues/detail?id=37410
Change-Id: I112b7f22782fc789d58f9c783f7b323bda8fb8b7
Diffstat (limited to 'linker/linker.cpp')
0 files changed, 0 insertions, 0 deletions
