[Bf-blender-cvs] [977c958242c] master: Fix memory leak when there is an error evaluating a PyDriver

Campbell Barton noreply at git.blender.org
Tue Mar 15 05:21:27 CET 2022


Commit: 977c958242cdfbdb8a0510789e34629301b34616
Author: Campbell Barton
Date:   Tue Mar 15 15:03:27 2022 +1100
Branches: master
https://developer.blender.org/rB977c958242cdfbdb8a0510789e34629301b34616

Fix memory leak when there is an error evaluating a PyDriver

In practice users are unlikely to ever run into this error.

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

M	source/blender/python/intern/bpy_driver.c

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

diff --git a/source/blender/python/intern/bpy_driver.c b/source/blender/python/intern/bpy_driver.c
index b7818e484e9..c88e42aa90f 100644
--- a/source/blender/python/intern/bpy_driver.c
+++ b/source/blender/python/intern/bpy_driver.c
@@ -575,7 +575,7 @@ float BPY_driver_exec(struct PathResolvedRNA *anim_rna,
     /* try to add to dictionary */
     /* if (PyDict_SetItemString(driver_vars, dvar->name, driver_arg)) { */
     if (PyDict_SetItem(driver_vars, PyTuple_GET_ITEM(expr_vars, i++), driver_arg) != -1) {
-      Py_DECREF(driver_arg);
+      /* Pass. */
     }
     else {
       /* this target failed - bad name */
@@ -591,6 +591,7 @@ float BPY_driver_exec(struct PathResolvedRNA *anim_rna,
       PyErr_Print();
       PyErr_Clear();
     }
+    Py_DECREF(driver_arg);
   }
 
 #ifdef USE_BYTECODE_WHITELIST



More information about the Bf-blender-cvs mailing list