[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