[Bf-blender-cvs] [9bc55492222] blender-v2.79-release: PyAPI: Fix memory leak w/ empty, allocated enums

Campbell Barton noreply at git.blender.org
Fri Aug 18 14:04:14 CEST 2017


Commit: 9bc554922229d65a1e16220876beb61d3feef8a2
Author: Campbell Barton
Date:   Fri Aug 18 18:29:27 2017 +1000
Branches: blender-v2.79-release
https://developer.blender.org/rB9bc554922229d65a1e16220876beb61d3feef8a2

PyAPI: Fix memory leak w/ empty, allocated enums

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

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

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

diff --git a/source/blender/python/intern/bpy_rna.c b/source/blender/python/intern/bpy_rna.c
index eda880d4dce..67f2f1fdee6 100644
--- a/source/blender/python/intern/bpy_rna.c
+++ b/source/blender/python/intern/bpy_rna.c
@@ -1395,7 +1395,7 @@ static PyObject *pyrna_enum_to_py(PointerRNA *ptr, PropertyRNA *prop, int val)
 		}
 		else {
 			EnumPropertyItem *enum_item;
-			bool free = false;
+			bool free;
 
 			/* don't throw error here, can't trust blender 100% to give the
 			 * right values, python code should not generate error for that */
@@ -1404,6 +1404,9 @@ static PyObject *pyrna_enum_to_py(PointerRNA *ptr, PropertyRNA *prop, int val)
 				ret = PyUnicode_FromString(enum_item->identifier);
 			}
 			else {
+				if (free) {
+					MEM_freeN(enum_item);
+				}
 				RNA_property_enum_items(NULL, ptr, prop, &enum_item, NULL, &free);
 
 				/* Do not print warning in case of DummyRNA_NULL_items, this one will never match any value... */



More information about the Bf-blender-cvs mailing list