[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [58139] trunk/blender/source/blender/ blenkernel/intern: add asserts for passing in bad index values to DM_get_***_data, CustomData_get()

Campbell Barton ideasman42 at gmail.com
Wed Jul 10 07:38:36 CEST 2013


Revision: 58139
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=58139
Author:   campbellbarton
Date:     2013-07-10 05:38:36 +0000 (Wed, 10 Jul 2013)
Log Message:
-----------
add asserts for passing in bad index values to DM_get_***_data, CustomData_get()

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

Modified: trunk/blender/source/blender/blenkernel/intern/DerivedMesh.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/DerivedMesh.c	2013-07-10 05:01:49 UTC (rev 58138)
+++ trunk/blender/source/blender/blenkernel/intern/DerivedMesh.c	2013-07-10 05:38:36 UTC (rev 58139)
@@ -655,21 +655,25 @@
 
 void *DM_get_vert_data(DerivedMesh *dm, int index, int type)
 {
+	BLI_assert(index >= 0 && index < dm->getNumVerts(dm));
 	return CustomData_get(&dm->vertData, index, type);
 }
 
 void *DM_get_edge_data(DerivedMesh *dm, int index, int type)
 {
+	BLI_assert(index >= 0 && index < dm->getNumEdges(dm));
 	return CustomData_get(&dm->edgeData, index, type);
 }
 
 void *DM_get_tessface_data(DerivedMesh *dm, int index, int type)
 {
+	BLI_assert(index >= 0 && index < dm->getNumTessFaces(dm));
 	return CustomData_get(&dm->faceData, index, type);
 }
 
 void *DM_get_poly_data(DerivedMesh *dm, int index, int type)
 {
+	BLI_assert(index >= 0 && index < dm->getNumPolys(dm));
 	return CustomData_get(&dm->polyData, index, type);
 }
 

Modified: trunk/blender/source/blender/blenkernel/intern/customdata.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/customdata.c	2013-07-10 05:01:49 UTC (rev 58138)
+++ trunk/blender/source/blender/blenkernel/intern/customdata.c	2013-07-10 05:38:36 UTC (rev 58139)
@@ -2073,6 +2073,8 @@
 	int offset;
 	int layer_index;
 	
+	BLI_assert(index >= 0);
+
 	/* get the layer index of the active layer of type */
 	layer_index = CustomData_get_active_layer_index(data, type);
 	if (layer_index < 0) return NULL;
@@ -2088,6 +2090,8 @@
 	int layer_index;
 	int offset;
 
+	BLI_assert(index >= 0 && n >= 0);
+
 	/* get the layer index of the first layer of type */
 	layer_index = data->typemap[type];
 	if (layer_index < 0) return NULL;




More information about the Bf-blender-cvs mailing list