Revision: 26525
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=26525
Author:   campbellbarton
Date:     2010-02-01 19:38:33 +0100 (Mon, 01 Feb 2010)

Log Message:
-----------
bugfix for reading invalid id prop lengths from python.

Modified Paths:
--------------
    trunk/blender/source/blender/python/generic/IDProp.c

Modified: trunk/blender/source/blender/python/generic/IDProp.c
===================================================================
--- trunk/blender/source/blender/python/generic/IDProp.c        2010-02-01 
18:30:00 UTC (rev 26524)
+++ trunk/blender/source/blender/python/generic/IDProp.c        2010-02-01 
18:38:33 UTC (rev 26525)
@@ -480,10 +480,13 @@
        IDProperty *loop;
        int i;
 
-       for (i=0, loop=prop->data.group.first; loop; loop=loop->next, i++)
+       for (i=0, loop=prop->data.group.first; loop && (i < prop->len); 
loop=loop->next, i++)
                PyList_SET_ITEM(seq, i, PyUnicode_FromString(loop->name));
 
-       if (i != prop->len) {
+       /* if the id prop is corrupt, count the remaining */
+       for (; loop; loop=loop->next, i++) {}
+
+       if (i != prop->len) { /* if the loop didnt finish, we know the length 
is wrong */
                BPy_IDGroup_CorrectListLen(prop, seq, i);
                Py_DECREF(seq); /*free the list*/
                /*call self again*/


_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to