[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [51105] trunk/blender/source/blender/ python/generic/py_capi_utils.c: fix [#32779] Bmesh module: assigning to bm. select_mode crashes Blender if bmesh is empty
Campbell Barton
ideasman42 at gmail.com
Sat Oct 6 05:33:18 CEST 2012
Revision: 51105
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=51105
Author: campbellbarton
Date: 2012-10-06 03:33:11 +0000 (Sat, 06 Oct 2012)
Log Message:
-----------
fix [#32779] Bmesh module: assigning to bm.select_mode crashes Blender if bmesh is empty
was missing set typecheck
Modified Paths:
--------------
trunk/blender/source/blender/python/generic/py_capi_utils.c
Modified: trunk/blender/source/blender/python/generic/py_capi_utils.c
===================================================================
--- trunk/blender/source/blender/python/generic/py_capi_utils.c 2012-10-06 03:02:14 UTC (rev 51104)
+++ trunk/blender/source/blender/python/generic/py_capi_utils.c 2012-10-06 03:33:11 UTC (rev 51105)
@@ -760,7 +760,6 @@
return 0;
}
-/* 'value' _must_ be a set type, error check before calling */
int PyC_FlagSet_ToBitfield(PyC_FlagSet *items, PyObject *value, int *r_value, const char *error_prefix)
{
/* set of enum items, concatenate all values with OR */
@@ -771,6 +770,15 @@
Py_ssize_t hash = 0;
PyObject *key;
+ PyC_ObSpit("", value);
+
+ if (!PySet_Check(value)) {
+ PyErr_Format(PyExc_TypeError,
+ "%.200s expected a set, not %.200s",
+ error_prefix, Py_TYPE(value)->tp_name);
+ return -1;
+ }
+
*r_value = 0;
while (_PySet_NextEntry(value, &pos, &key, &hash)) {
@@ -778,7 +786,7 @@
if (param == NULL) {
PyErr_Format(PyExc_TypeError,
- "%.200s expected a string, not %.200s",
+ "%.200s set must contain strings, not %.200s",
error_prefix, Py_TYPE(key)->tp_name);
return -1;
}
More information about the Bf-blender-cvs
mailing list