From 1fb8368599f8504e692e24fba674e3d207fac051 Mon Sep 17 00:00:00 2001 From: phk Date: Fri, 16 Nov 2001 18:15:33 +0000 Subject: [PATCH] Correctly call THREAD_UNLOCK() if the recursive call trap is sprung. Pointed out by: knu --- lib/libc/stdlib/malloc.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/libc/stdlib/malloc.c b/lib/libc/stdlib/malloc.c index bc6769b826d..999c9b5627d 100644 --- a/lib/libc/stdlib/malloc.c +++ b/lib/libc/stdlib/malloc.c @@ -1114,6 +1114,7 @@ free(void *ptr) if (malloc_active++) { wrtwarning("recursive call\n"); malloc_active--; + THREAD_UNLOCK(); return; } if (ptr != ZEROSIZEPTR) @@ -1134,6 +1135,7 @@ realloc(void *ptr, size_t size) if (malloc_active++) { wrtwarning("recursive call\n"); malloc_active--; + THREAD_UNLOCK(); return (0); } if (ptr && !malloc_started) { -- 2.45.2