Tsst… Don't even have time fix my own bugs! :P Thanks Brecht, anyway.

Yet I wonder how such an issue could get unnoticed for so long... Always 
amazes me! And sorry for the bug.

On 08/08/2013 22:35, Brecht Van Lommel wrote:
> Revision: 59028
>            
> http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=59028
> Author:   blendix
> Date:     2013-08-08 20:35:19 +0000 (Thu, 08 Aug 2013)
> Log Message:
> -----------
> Fix #36417: vertex weight mix modifier crash with texture mask and subsurf 
> modifier
> preceding it, was writing past end of array.
>
> Modified Paths:
> --------------
>      trunk/blender/source/blender/modifiers/intern/MOD_weightvg_util.c
>
> Modified: trunk/blender/source/blender/modifiers/intern/MOD_weightvg_util.c
> ===================================================================
> --- trunk/blender/source/blender/modifiers/intern/MOD_weightvg_util.c 
> 2013-08-08 19:04:28 UTC (rev 59027)
> +++ trunk/blender/source/blender/modifiers/intern/MOD_weightvg_util.c 
> 2013-08-08 20:35:19 UTC (rev 59028)
> @@ -135,6 +135,7 @@
>               /* See mapping note below... */
>               MappingInfoModifierData t_map;
>               float (*v_co)[3];
> +             int numVerts = dm->getNumVerts(dm);
>
>               /* Use new generic get_texture_coords, but do not modify our 
> DNA struct for it...
>                * XXX Why use a ModifierData stuff here ? Why not a simple, 
> generic struct for parameters ?
> @@ -145,9 +146,9 @@
>               t_map.map_object = tex_map_object;
>               BLI_strncpy(t_map.uvlayer_name, tex_uvlayer_name, 
> sizeof(t_map.uvlayer_name));
>               t_map.texmapping = tex_mapping;
> -             v_co = MEM_mallocN(sizeof(*v_co) * num, "WeightVG Modifier, TEX 
> mode, v_co");
> +             v_co = MEM_mallocN(sizeof(*v_co) * numVerts, "WeightVG 
> Modifier, TEX mode, v_co");
>               dm->getVertCos(dm, v_co);
> -             tex_co = MEM_callocN(sizeof(*tex_co) * num, "WeightVG Modifier, 
> TEX mode, tex_co");
> +             tex_co = MEM_callocN(sizeof(*tex_co) * numVerts, "WeightVG 
> Modifier, TEX mode, tex_co");
>               get_texture_coords(&t_map, ob, dm, v_co, tex_co, num);
>               MEM_freeN(v_co);
>
>
> _______________________________________________
> Bf-blender-cvs mailing list
> [email protected]
> http://lists.blender.org/mailman/listinfo/bf-blender-cvs
>
_______________________________________________
Bf-committers mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-committers

Reply via email to