From 30d9366d17328a5f15a32e537c0a2969ea82bd3f Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Tue, 4 Jun 2019 23:20:22 +0200 Subject: Fix (unreported) Broken `BLI_threadapi_exit()`. Function would not clear the static scheduler pointer, which lead to crash (mem use after free) when trying to re-init and use the task API again. Should not happen in Blender itself, but could in other cases (like some future gtests ;) ). --- source/blender/blenlib/intern/threads.c | 1 + 1 file changed, 1 insertion(+) (limited to 'source/blender/blenlib') diff --git a/source/blender/blenlib/intern/threads.c b/source/blender/blenlib/intern/threads.c index abd59dac891..978dee319b4 100644 --- a/source/blender/blenlib/intern/threads.c +++ b/source/blender/blenlib/intern/threads.c @@ -161,6 +161,7 @@ void BLI_threadapi_exit(void) { if (task_scheduler) { BLI_task_scheduler_free(task_scheduler); + task_scheduler = NULL; } BLI_spin_end(&_malloc_lock); } -- cgit v1.2.3