[Bf-blender-cvs] [93aae90ab57] blender-v2.93-release: Cleanup/Fix RNA array length accessors returning non-zero values in invalid cases.

Bastien Montagne noreply at git.blender.org
Mon Aug 9 08:42:33 CEST 2021


Commit: 93aae90ab57323761ef918ada52f3a126b762fb4
Author: Bastien Montagne
Date:   Thu Aug 5 16:48:16 2021 +0200
Branches: blender-v2.93-release
https://developer.blender.org/rB93aae90ab57323761ef918ada52f3a126b762fb4

Cleanup/Fix RNA array length accessors returning non-zero values in invalid cases.

This was apparently done in two places only, with a very cryptic comment
(`/* for raw_access, untested */`), and... I cannot see how returning a
non-zero length value for an array that does not exist or is not
accessible at least, would be anything but an obvious source of issues.

Note that both commits adding those lines are from stone ages (2009):
rBcbc2c1886dee and rB50e3bb7f5f34.

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

M	source/blender/makesrna/intern/rna_constraint.c
M	source/blender/makesrna/intern/rna_fcurve.c

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

diff --git a/source/blender/makesrna/intern/rna_constraint.c b/source/blender/makesrna/intern/rna_constraint.c
index a3934b12a44..260d3ea0cc6 100644
--- a/source/blender/makesrna/intern/rna_constraint.c
+++ b/source/blender/makesrna/intern/rna_constraint.c
@@ -705,7 +705,7 @@ static int rna_SplineIKConstraint_joint_bindings_get_length(PointerRNA *ptr,
     length[0] = ikData->numpoints;
   }
   else {
-    length[0] = 256; /* for raw_access, untested */
+    length[0] = 0;
   }
 
   return length[0];
diff --git a/source/blender/makesrna/intern/rna_fcurve.c b/source/blender/makesrna/intern/rna_fcurve.c
index d4697721bc2..4bc0f5f8708 100644
--- a/source/blender/makesrna/intern/rna_fcurve.c
+++ b/source/blender/makesrna/intern/rna_fcurve.c
@@ -809,7 +809,7 @@ static int rna_FModifierGenerator_coefficients_get_length(PointerRNA *ptr,
     length[0] = gen->arraysize;
   }
   else {
-    length[0] = 100; /* for raw_access, untested */
+    length[0] = 0;
   }
 
   return length[0];



More information about the Bf-blender-cvs mailing list