Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <campbell@blender.org>2022-08-19 06:46:37 +0300
committerCampbell Barton <campbell@blender.org>2022-08-19 06:46:37 +0300
commit2a15040777a04170a00c3591065b8243e40428d5 (patch)
tree88703ecd5d4d2684f265dc1c16e2a26e8497774a /source/blender/makesrna
parent97f9015ed0b1a6a3e6247d5958dd50bbcd21d5ca (diff)
parent529f0427fce2245d60eb885518f055209405b016 (diff)
Merge branch 'blender-v3.3-release'
Diffstat (limited to 'source/blender/makesrna')
-rw-r--r--source/blender/makesrna/intern/rna_path.cc8
1 files changed, 6 insertions, 2 deletions
diff --git a/source/blender/makesrna/intern/rna_path.cc b/source/blender/makesrna/intern/rna_path.cc
index f14e2113e13..99cb456027f 100644
--- a/source/blender/makesrna/intern/rna_path.cc
+++ b/source/blender/makesrna/intern/rna_path.cc
@@ -704,12 +704,16 @@ const char *RNA_path_array_index_token_find(const char *rna_path, const Property
/* Valid 'array part' of a rna path can only have '[', ']' and digit characters.
* It may have more than one of those (e.g. `[12][1]`) in case of multi-dimensional arrays. */
- int64_t rna_path_len = (int64_t)strlen(rna_path);
+ if (UNLIKELY(rna_path[0] == '\0')) {
+ return NULL;
+ }
+ size_t rna_path_len = (size_t)strlen(rna_path) - 1;
if (rna_path[rna_path_len] != ']') {
return NULL;
}
+
const char *last_valid_index_token_start = NULL;
- for (rna_path_len--; rna_path_len >= 0; rna_path_len--) {
+ while (rna_path_len--) {
switch (rna_path[rna_path_len]) {
case '[':
if (rna_path_len <= 0 || rna_path[rna_path_len - 1] != ']') {