[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [59028] trunk/blender/source/blender/ modifiers/intern/MOD_weightvg_util.c: Fix #36417: vertex weight mix modifier crash with texture mask and subsurf modifier

Brecht Van Lommel brechtvanlommel at pandora.be
Thu Aug 8 22:35:19 CEST 2013


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);
 




More information about the Bf-blender-cvs mailing list