diff options
author | Campbell Barton <ideasman42@gmail.com> | 2016-07-14 10:28:28 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2016-07-14 10:30:52 +0300 |
commit | f5e020a7a6ad6451fcaf075ae14f7014b8a4faea (patch) | |
tree | fabaa955b5da459f4a254f4b5d8c912e55f8e627 /source/blender/python/intern/bpy_app.c | |
parent | cca57bf04c9b84da742743343077db9b3f6f7025 (diff) |
PyAPI: fix memory leaks in dictionary assignment
Thanks to Kévin Dietrich for spotting driver leak,
checked other uses of PyDict_SetItem and found more.
Diffstat (limited to 'source/blender/python/intern/bpy_app.c')
-rw-r--r-- | source/blender/python/intern/bpy_app.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/source/blender/python/intern/bpy_app.c b/source/blender/python/intern/bpy_app.c index 17617a231b2..93c97d48bac 100644 --- a/source/blender/python/intern/bpy_app.c +++ b/source/blender/python/intern/bpy_app.c @@ -356,10 +356,10 @@ static PyGetSetDef bpy_app_getsets[] = { static void py_struct_seq_getset_init(void) { /* tricky dynamic members, not to py-spec! */ - PyGetSetDef *getset; - - for (getset = bpy_app_getsets; getset->name; getset++) { - PyDict_SetItemString(BlenderAppType.tp_dict, getset->name, PyDescr_NewGetSet(&BlenderAppType, getset)); + for (PyGetSetDef *getset = bpy_app_getsets; getset->name; getset++) { + PyObject *item = PyDescr_NewGetSet(&BlenderAppType, getset); + PyDict_SetItemString(BlenderAppType.tp_dict, getset->name, item); + Py_DECREF(item); } } /* end dynamic bpy.app */ |