[Bf-blender-cvs] [30d9366d173] master: Fix (unreported) Broken `BLI_threadapi_exit()`.

Bastien Montagne noreply at git.blender.org
Tue Jun 4 23:51:12 CEST 2019


Commit: 30d9366d17328a5f15a32e537c0a2969ea82bd3f
Author: Bastien Montagne
Date:   Tue Jun 4 23:20:22 2019 +0200
Branches: master
https://developer.blender.org/rB30d9366d17328a5f15a32e537c0a2969ea82bd3f

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 ;) ).

===================================================================

M	source/blender/blenlib/intern/threads.c

===================================================================

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);
 }



More information about the Bf-blender-cvs mailing list