From 17a19069db407b80bf6fbaf97e07bc239cf75e84 Mon Sep 17 00:00:00 2001 From: Germano Cavalcante Date: Tue, 12 Apr 2022 22:16:09 -0300 Subject: Fix cases where 'Py_buffer' might not be released --- source/blender/python/gpu/gpu_py_element.c | 2 ++ 1 file changed, 2 insertions(+) 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; } -- cgit v1.2.3