diff --git a/ldso/dynlink.c b/ldso/dynlink.c index 35cacd76fbd1dc9ee84ceb650cc9af00ca78e829..46c5b5ff09aa2d762e6f97236d935db1bc4da6f2 100644 --- a/ldso/dynlink.c +++ b/ldso/dynlink.c @@ -2000,8 +2000,9 @@ void *dlopen(const char *file, int mode) free(p->deps); unmap_library(p); free(p); - free(ctor_queue); } + free(ctor_queue); + ctor_queue = 0; if (!orig_tls_tail) libc.tls_head = 0; tls_tail = orig_tls_tail; if (tls_tail) tls_tail->next = 0;