[Bf-blender-cvs] [17a19069db4] master: Fix cases where 'Py_buffer' might not be released

Germano Cavalcante noreply at git.blender.org
Wed Apr 13 03:57:32 CEST 2022


Commit: 17a19069db407b80bf6fbaf97e07bc239cf75e84
Author: Germano Cavalcante
Date:   Tue Apr 12 22:16:09 2022 -0300
Branches: master
https://developer.blender.org/rB17a19069db407b80bf6fbaf97e07bc239cf75e84

Fix cases where 'Py_buffer' might not be released

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

M	source/blender/python/gpu/gpu_py_element.c

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

diff --git a/source/blender/python/gpu/gpu_py_element.c b/source/blender/python/gpu/gpu_py_element.c
index f2836576659..04975fcef96 100644
--- a/source/blender/python/gpu/gpu_py_element.c
+++ b/source/blender/python/gpu/gpu_py_element.c
@@ -70,12 +70,14 @@ static PyObject *pygpu_IndexBuf__tp_new(PyTypeObject *UNUSED(type), PyObject *ar
 
     if (pybuffer.ndim != 1 && pybuffer.shape[1] != verts_per_prim) {
       PyErr_Format(PyExc_ValueError, "Each primitive must exactly %d indices", verts_per_prim);
+      PyBuffer_Release(&pybuffer);
       return NULL;
     }
 
     if (pybuffer.itemsize != 4 ||
         PyC_StructFmt_type_is_float_any(PyC_StructFmt_type_from_str(pybuffer.format))) {
       PyErr_Format(PyExc_ValueError, "Each index must be an 4-bytes integer value");
+      PyBuffer_Release(&pybuffer);
       return NULL;
     }



More information about the Bf-blender-cvs mailing list