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:
authorBrecht Van Lommel <brecht@blender.org>2022-06-22 20:02:52 +0300
committerBrecht Van Lommel <brecht@blender.org>2022-06-23 20:22:50 +0300
commitdc64673f6e096408f5bf5ba646512aebac4e0a59 (patch)
treeeab2f9afc7e5479095871bbaf4afcf8ff71aba3c /source/blender/makesrna/intern/rna_access.c
parent56435b3268bceaf24c13336976c84a91a33f9283 (diff)
Fix T97691: undefined behavior sanitizer warning for alignment in RNA functions
Thanks Loren Osborn for investigating this and proposing solutions. Ref D14798
Diffstat (limited to 'source/blender/makesrna/intern/rna_access.c')
-rw-r--r--source/blender/makesrna/intern/rna_access.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/source/blender/makesrna/intern/rna_access.c b/source/blender/makesrna/intern/rna_access.c
index 0bc35d86490..a0b25cf60b2 100644
--- a/source/blender/makesrna/intern/rna_access.c
+++ b/source/blender/makesrna/intern/rna_access.c
@@ -7130,7 +7130,7 @@ ParameterList *RNA_parameter_list_create(ParameterList *parms,
/* allocate data */
for (parm = func->cont.properties.first; parm; parm = parm->next) {
- alloc_size += rna_parameter_size(parm);
+ alloc_size += rna_parameter_size_pad(rna_parameter_size(parm));
if (parm->flag_parameter & PARM_OUTPUT) {
parms->ret_count++;
@@ -7206,7 +7206,7 @@ ParameterList *RNA_parameter_list_create(ParameterList *parms,
}
}
- data = ((char *)data) + rna_parameter_size(parm);
+ data = ((char *)data) + rna_parameter_size_pad(size);
}
return parms;
@@ -7230,7 +7230,7 @@ void RNA_parameter_list_free(ParameterList *parms)
}
}
- tot += rna_parameter_size(parm);
+ tot += rna_parameter_size_pad(rna_parameter_size(parm));
}
MEM_freeN(parms->data);
@@ -7272,7 +7272,7 @@ void RNA_parameter_list_begin(ParameterList *parms, ParameterIterator *iter)
void RNA_parameter_list_next(ParameterIterator *iter)
{
- iter->offset += iter->size;
+ iter->offset += rna_parameter_size_pad(iter->size);
iter->parm = iter->parm->next;
iter->valid = iter->parm != NULL;