From: Rich Felker Date: Mon, 2 Sep 2013 19:06:46 +0000 (-0400) Subject: fix invalid pointer in synccall (multithread setuid, etc.) X-Git-Tag: v0.9.14~48 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=a731e4103b87cb02b763f2e3f73cc43c72bdf65f;p=oweals%2Fmusl.git fix invalid pointer in synccall (multithread setuid, etc.) the head pointer was not being reset between calls to synccall, so any use of this interface more than once would build the linked list incorrectly, keeping the (now invalid) list nodes from the previous call. --- diff --git a/src/thread/synccall.c b/src/thread/synccall.c index 706c8e73..c54570be 100644 --- a/src/thread/synccall.c +++ b/src/thread/synccall.c @@ -58,6 +58,7 @@ void __synccall(void (*func)(void *), void *ctx) sem_init(&chaindone, 0, 0); sem_init(&chainlock, 0, 1); chainlen = 0; + head = 0; callback = func; context = ctx;