[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [14111] trunk/blender/source/blender/ blenkernel/intern/mesh.c: fixed a possible use of uninitialized orco coords if the mesh has more totverts then keyblock elements .

Campbell Barton ideasman42 at gmail.com
Fri Mar 14 19:16:54 CET 2008


Revision: 14111
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=14111
Author:   campbellbarton
Date:     2008-03-14 19:16:54 +0100 (Fri, 14 Mar 2008)

Log Message:
-----------
fixed a possible use of uninitialized orco coords if the mesh has more totverts then keyblock elements.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/mesh.c

Modified: trunk/blender/source/blender/blenkernel/intern/mesh.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/mesh.c	2008-03-14 18:08:27 UTC (rev 14110)
+++ trunk/blender/source/blender/blenkernel/intern/mesh.c	2008-03-14 18:16:54 UTC (rev 14111)
@@ -1109,9 +1109,13 @@
 	
 	if(me->key && me->key->refkey) {
 		if(numVerts_r) *numVerts_r= me->totvert;
-		cos= MEM_mallocN(sizeof(*cos)*me->totvert, "vertexcos1");
-
+		
 		kb= me->key->refkey;
+		
+		/* prevent accessing invalid memory */
+		if (me->totvert > kb->totelem)		cos= MEM_callocN(sizeof(*cos)*me->totvert, "vertexcos1");
+		else								cos= MEM_mallocN(sizeof(*cos)*me->totvert, "vertexcos1");
+		
 		totvert= MIN2(kb->totelem, me->totvert);
 
 		memcpy(cos, kb->data, sizeof(*cos)*totvert);





More information about the Bf-blender-cvs mailing list