[Bf-blender-cvs] [1f96166e08a] blender-v2.83-release: Fix memory leak with Python RNA property get callback errors
Campbell Barton
noreply at git.blender.org
Mon Aug 2 08:21:17 CEST 2021
Commit: 1f96166e08a1fd613b827fcd2d3803cff50efbfb
Author: Campbell Barton
Date: Wed Jul 28 01:07:14 2021 +1000
Branches: blender-v2.83-release
https://developer.blender.org/rB1f96166e08a1fd613b827fcd2d3803cff50efbfb
Fix memory leak with Python RNA property get callback errors
Failure to return a list of the expected size & type wasn't
decrementing the value, leaking a reference.
Caused by 127b5423d6203d521acb2b96b7de5534e8dbe79a a workaround for the
real error that was fixed f5e020a7a6ad6451fcaf075ae14f7014b8a4faea.
===================================================================
M source/blender/python/intern/bpy_props.c
===================================================================
diff --git a/source/blender/python/intern/bpy_props.c b/source/blender/python/intern/bpy_props.c
index ade02780210..ed4d1a89fc8 100644
--- a/source/blender/python/intern/bpy_props.c
+++ b/source/blender/python/intern/bpy_props.c
@@ -494,12 +494,8 @@ static void bpy_prop_boolean_array_get_cb(struct PointerRNA *ptr,
for (i = 0; i < len; i++) {
values[i] = false;
}
-
- /* PyC_AsArray decrements refcount internally on error */
- }
- else {
- Py_DECREF(ret);
}
+ Py_DECREF(ret);
}
if (use_gil) {
@@ -738,12 +734,8 @@ static void bpy_prop_int_array_get_cb(struct PointerRNA *ptr,
for (i = 0; i < len; i++) {
values[i] = 0;
}
-
- /* PyC_AsArray decrements refcount internally on error */
- }
- else {
- Py_DECREF(ret);
}
+ Py_DECREF(ret);
}
if (use_gil) {
@@ -982,12 +974,8 @@ static void bpy_prop_float_array_get_cb(struct PointerRNA *ptr,
for (i = 0; i < len; i++) {
values[i] = 0.0f;
}
-
- /* PyC_AsArray decrements refcount internally on error */
- }
- else {
- Py_DECREF(ret);
}
+ Py_DECREF(ret);
}
if (use_gil) {
More information about the Bf-blender-cvs
mailing list