diff options
author | Campbell Barton <ideasman42@gmail.com> | 2013-05-25 04:22:04 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2013-05-25 04:22:04 +0400 |
commit | 28937676f303dfa64150dc09ac14d1efc1893a3a (patch) | |
tree | ce696874c2a2929e6db1b133c811cfb08cdf0927 /source | |
parent | 66c86d8702a3843cc03a26faef86f3be440a8546 (diff) |
fix for out of bounds memory access in solidify (harmless with guardedalloc padding but bad practice)
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/modifiers/intern/MOD_solidify.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/source/blender/modifiers/intern/MOD_solidify.c b/source/blender/modifiers/intern/MOD_solidify.c index 3148273886b..c54ed26d47e 100644 --- a/source/blender/modifiers/intern/MOD_solidify.c +++ b/source/blender/modifiers/intern/MOD_solidify.c @@ -112,10 +112,11 @@ static void dm_calc_normal(DerivedMesh *dm, float (*temp_nors)[3]) ml = mloop + mp->loopstart; - for (j = 0, ml_v1 = ml->v, ml_v2 = ml[mp->totloop - 1].v; + for (j = 0, ml_v2 = ml[mp->totloop - 1].v; j < mp->totloop; - j++, ml++, ml_v2 = ml_v1, ml_v1 = ml->v) + j++, ml++, ml_v2 = ml_v1) { + ml_v1 = ml->v; /* --- add edge ref to face --- */ edge_ref = (EdgeFaceRef *)BLI_edgehash_lookup(edge_hash, ml_v1, ml_v2); if (!edge_ref) { |