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

Bastien Montagne noreply at git.blender.org
Mon Aug 16 10:02:39 CEST 2021


Commit: 103e314be4afbbebdadba9e69b19f87d99aa07ab
Author: Bastien Montagne
Date:   Thu Aug 5 16:48:16 2021 +0200
Branches: blender-v2.83-release
https://developer.blender.org/rB103e314be4afbbebdadba9e69b19f87d99aa07ab

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 dc0cde953f4..d18bc7f28b3 100644
--- a/source/blender/makesrna/intern/rna_constraint.c
+++ b/source/blender/makesrna/intern/rna_constraint.c
@@ -677,7 +677,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 e74262063c5..c882f7afaf1 100644
--- a/source/blender/makesrna/intern/rna_fcurve.c
+++ b/source/blender/makesrna/intern/rna_fcurve.c
@@ -791,7 +791,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