[Bf-blender-cvs] [bc627fbf657] blender-v2.93-release: Fix gpu.types.GPUTexture crash when the size argument was too big

Campbell Barton noreply at git.blender.org
Mon Aug 9 08:42:32 CEST 2021


Commit: bc627fbf657e6b35116505f185197d170203552e
Author: Campbell Barton
Date:   Thu Jul 29 14:09:30 2021 +1000
Branches: blender-v2.93-release
https://developer.blender.org/rBbc627fbf657e6b35116505f185197d170203552e

Fix gpu.types.GPUTexture crash when the size argument was too big

Missing length check on the size argument before copying it
into a fixed size buffer.

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

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

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

diff --git a/source/blender/python/gpu/gpu_py_texture.c b/source/blender/python/gpu/gpu_py_texture.c
index 257c6d773eb..48802ab9407 100644
--- a/source/blender/python/gpu/gpu_py_texture.c
+++ b/source/blender/python/gpu/gpu_py_texture.c
@@ -153,6 +153,12 @@ static PyObject *pygpu_texture__tp_new(PyTypeObject *UNUSED(self), PyObject *arg
   int len = 1;
   if (PySequence_Check(py_size)) {
     len = PySequence_Size(py_size);
+    if ((len < 1) || (len > 3)) {
+      PyErr_Format(PyExc_ValueError,
+                   "GPUTexture.__new__: \"size\" must be between 1 and 3 in length (got %d)",
+                   len);
+      return NULL;
+    }
     if (PyC_AsArray(size, py_size, len, &PyLong_Type, false, "GPUTexture.__new__") == -1) {
       return NULL;
     }



More information about the Bf-blender-cvs mailing list