[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [27007] trunk/blender/source/blender: constraints unique name length was set too long (could overrun the buffer) , use sizeof() with other instances of BLI_uniquename too

Campbell Barton ideasman42 at gmail.com
Thu Feb 18 11:14:49 CET 2010


Revision: 27007
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=27007
Author:   campbellbarton
Date:     2010-02-18 11:14:49 +0100 (Thu, 18 Feb 2010)

Log Message:
-----------
constraints unique name length was set too long (could overrun the buffer), use sizeof() with other instances of BLI_uniquename too

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/action.c
    trunk/blender/source/blender/blenkernel/intern/anim_sys.c
    trunk/blender/source/blender/blenkernel/intern/constraint.c
    trunk/blender/source/blender/blenkernel/intern/fcurve.c
    trunk/blender/source/blender/blenkernel/intern/gpencil.c
    trunk/blender/source/blender/blenkernel/intern/ipo.c
    trunk/blender/source/blender/blenkernel/intern/nla.c
    trunk/blender/source/blender/blenkernel/intern/node.c
    trunk/blender/source/blender/blenkernel/intern/scene.c
    trunk/blender/source/blender/editors/animation/keyframing.c
    trunk/blender/source/blender/editors/armature/poselib.c
    trunk/blender/source/blender/editors/space_outliner/outliner.c

Modified: trunk/blender/source/blender/blenkernel/intern/action.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/action.c	2010-02-18 10:09:52 UTC (rev 27006)
+++ trunk/blender/source/blender/blenkernel/intern/action.c	2010-02-18 10:14:49 UTC (rev 27007)
@@ -748,7 +748,7 @@
 	grp= MEM_callocN(sizeof(bActionGroup), "PoseGroup");
 	strcpy(grp->name, "Group");
 	BLI_addtail(&pose->agroups, grp);
-	BLI_uniquename(&pose->agroups, grp, "Group", '.', offsetof(bActionGroup, name), 32);
+	BLI_uniquename(&pose->agroups, grp, "Group", '.', offsetof(bActionGroup, name), sizeof(grp->name));
 	
 	pose->active_group= BLI_countlist(&pose->agroups);
 }

Modified: trunk/blender/source/blender/blenkernel/intern/anim_sys.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/anim_sys.c	2010-02-18 10:09:52 UTC (rev 27006)
+++ trunk/blender/source/blender/blenkernel/intern/anim_sys.c	2010-02-18 10:14:49 UTC (rev 27007)
@@ -604,7 +604,7 @@
 	ks= MEM_callocN(sizeof(KeyingSet), "KeyingSet");
 	
 	if (name)
-		BLI_snprintf(ks->name, 64, name);
+		strncpy(ks->name, name, sizeof(ks->name));
 	else
 		strcpy(ks->name, "KeyingSet");
 	
@@ -615,7 +615,7 @@
 	BLI_addtail(list, ks);
 	
 	/* make sure KeyingSet has a unique name (this helps with identification) */
-	BLI_uniquename(list, ks, "KeyingSet", '.', offsetof(KeyingSet, name), 64);
+	BLI_uniquename(list, ks, "KeyingSet", '.', offsetof(KeyingSet, name), sizeof(ks->name));
 	
 	/* return new KeyingSet for further editing */
 	return ks;

Modified: trunk/blender/source/blender/blenkernel/intern/constraint.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/constraint.c	2010-02-18 10:09:52 UTC (rev 27006)
+++ trunk/blender/source/blender/blenkernel/intern/constraint.c	2010-02-18 10:14:49 UTC (rev 27007)
@@ -96,7 +96,7 @@
 /* Find the first available, non-duplicate name for a given constraint */
 void unique_constraint_name (bConstraint *con, ListBase *list)
 {
-	BLI_uniquename(list, con, "Const", '.', offsetof(bConstraint, name), 32);
+	BLI_uniquename(list, con, "Const", '.', offsetof(bConstraint, name), sizeof(con->name));
 }
 
 /* ----------------- Evaluation Loop Preparation --------------- */

Modified: trunk/blender/source/blender/blenkernel/intern/fcurve.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/fcurve.c	2010-02-18 10:09:52 UTC (rev 27006)
+++ trunk/blender/source/blender/blenkernel/intern/fcurve.c	2010-02-18 10:14:49 UTC (rev 27007)
@@ -1199,7 +1199,7 @@
 	
 	/* give the variable a 'unique' name */
 	strcpy(dvar->name, "var");
-	BLI_uniquename(&driver->variables, dvar, "var", '_', offsetof(DriverVar, name), 64);
+	BLI_uniquename(&driver->variables, dvar, "var", '_', offsetof(DriverVar, name), sizeof(dvar->name));
 	
 	/* set the default type to 'single prop' */
 	driver_change_variable_type(dvar, DVAR_TYPE_SINGLE_PROP);

Modified: trunk/blender/source/blender/blenkernel/intern/gpencil.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/gpencil.c	2010-02-18 10:09:52 UTC (rev 27006)
+++ trunk/blender/source/blender/blenkernel/intern/gpencil.c	2010-02-18 10:14:49 UTC (rev 27007)
@@ -194,7 +194,7 @@
 	
 	/* auto-name */
 	sprintf(gpl->info, "GP_Layer");
-	BLI_uniquename(&gpd->layers, gpl, "GP_Layer", '.', offsetof(bGPDlayer, info[0]), 128);
+	BLI_uniquename(&gpd->layers, gpl, "GP_Layer", '.', offsetof(bGPDlayer, info[0]), sizeof(gpl->info));
 	
 	/* make this one the active one */
 	gpencil_layer_setactive(gpd, gpl);

Modified: trunk/blender/source/blender/blenkernel/intern/ipo.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/ipo.c	2010-02-18 10:09:52 UTC (rev 27006)
+++ trunk/blender/source/blender/blenkernel/intern/ipo.c	2010-02-18 10:14:49 UTC (rev 27007)
@@ -1101,10 +1101,10 @@
 				agrp->flag = AGRP_SELECTED;
 				if(muteipo) agrp->flag |= AGRP_MUTED;
 
-				BLI_snprintf(agrp->name, 64, grpname);
+				strncpy(agrp->name, grpname, sizeof(agrp->name));
 				
 				BLI_addtail(&tmp_act.groups, agrp);
-				BLI_uniquename(&tmp_act.groups, agrp, "Group", '.', offsetof(bActionGroup, name), 64);
+				BLI_uniquename(&tmp_act.groups, agrp, "Group", '.', offsetof(bActionGroup, name), sizeof(agrp->name));
 			}
 		}
 		

Modified: trunk/blender/source/blender/blenkernel/intern/nla.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/nla.c	2010-02-18 10:09:52 UTC (rev 27006)
+++ trunk/blender/source/blender/blenkernel/intern/nla.c	2010-02-18 10:14:49 UTC (rev 27007)
@@ -258,8 +258,8 @@
 	BKE_nlatrack_set_active(&adt->nla_tracks, nlt);
 	
 	/* must have unique name, but we need to seed this */
-	sprintf(nlt->name, "NlaTrack");
-	BLI_uniquename(&adt->nla_tracks, nlt, "NlaTrack", '.', offsetof(NlaTrack, name), 64);
+	strcpy(nlt->name, "NlaTrack");
+	BLI_uniquename(&adt->nla_tracks, nlt, "NlaTrack", '.', offsetof(NlaTrack, name), nlt->name);
 	
 	/* return the new track */
 	return nlt;

Modified: trunk/blender/source/blender/blenkernel/intern/node.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/node.c	2010-02-18 10:09:52 UTC (rev 27006)
+++ trunk/blender/source/blender/blenkernel/intern/node.c	2010-02-18 10:14:49 UTC (rev 27007)
@@ -909,7 +909,7 @@
 /* Find the first available, non-duplicate name for a given node */
 void nodeUniqueName(bNodeTree *ntree, bNode *node)
 {
-	BLI_uniquename(&ntree->nodes, node, "Node", '.', offsetof(bNode, name), 32);
+	BLI_uniquename(&ntree->nodes, node, "Node", '.', offsetof(bNode, name), sizeof(node->name));
 }
 
 bNode *nodeAddNodeType(bNodeTree *ntree, int type, bNodeTree *ngroup, ID *id)

Modified: trunk/blender/source/blender/blenkernel/intern/scene.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/scene.c	2010-02-18 10:09:52 UTC (rev 27006)
+++ trunk/blender/source/blender/blenkernel/intern/scene.c	2010-02-18 10:14:49 UTC (rev 27007)
@@ -947,8 +947,8 @@
 //	int tot= 1 + BLI_countlist(&sce->r.layers);
 	
 	srl= MEM_callocN(sizeof(SceneRenderLayer), "new render layer");
-	sprintf(srl->name, "RenderLayer");
-	BLI_uniquename(&sce->r.layers, srl, "RenderLayer", '.', offsetof(SceneRenderLayer, name), 32);
+	strcpy(srl->name, "RenderLayer");
+	BLI_uniquename(&sce->r.layers, srl, "RenderLayer", '.', offsetof(SceneRenderLayer, name), sizeof(srl->name));
 	BLI_addtail(&sce->r.layers, srl);
 
 	/* note, this is also in render, pipeline.c, to make layer when scenedata doesnt have it */

Modified: trunk/blender/source/blender/editors/animation/keyframing.c
===================================================================
--- trunk/blender/source/blender/editors/animation/keyframing.c	2010-02-18 10:09:52 UTC (rev 27006)
+++ trunk/blender/source/blender/editors/animation/keyframing.c	2010-02-18 10:14:49 UTC (rev 27007)
@@ -187,10 +187,10 @@
 				grp= MEM_callocN(sizeof(bActionGroup), "bActionGroup");
 				
 				grp->flag = AGRP_SELECTED;
-				BLI_snprintf(grp->name, 64, group);
-				
+				strncpy(grp->name, group, sizeof(grp->name));
+
 				BLI_addtail(&act->groups, grp);
-				BLI_uniquename(&act->groups, grp, "Group", '.', offsetof(bActionGroup, name), 64);
+				BLI_uniquename(&act->groups, grp, "Group", '.', offsetof(bActionGroup, name), sizeof(grp->name));
 			}
 			
 			/* add F-Curve to group */

Modified: trunk/blender/source/blender/editors/armature/poselib.c
===================================================================
--- trunk/blender/source/blender/editors/armature/poselib.c	2010-02-18 10:09:52 UTC (rev 27006)
+++ trunk/blender/source/blender/editors/armature/poselib.c	2010-02-18 10:14:49 UTC (rev 27007)
@@ -373,7 +373,7 @@
 	}
 	
 	/* validate name */
-	BLI_uniquename(&act->markers, marker, "Pose", '.', offsetof(TimeMarker, name), 64);
+	BLI_uniquename(&act->markers, marker, "Pose", '.', offsetof(TimeMarker, name), sizeof(marker->name));
 	
 	/* init common-key-source for use by KeyingSets */
 	memset(&cks, 0, sizeof(bCommonKeySrc));
@@ -578,7 +578,7 @@
 	
 	/* copy name and validate it */
 	BLI_strncpy(marker->name, newname, sizeof(marker->name));
-	BLI_uniquename(&act->markers, marker, "Pose", '.', offsetof(TimeMarker, name), 64);
+	BLI_uniquename(&act->markers, marker, "Pose", '.', offsetof(TimeMarker, name), sizeof(marker->name));
 	
 	/* done */
 	return OPERATOR_FINISHED;

Modified: trunk/blender/source/blender/editors/space_outliner/outliner.c
===================================================================
--- trunk/blender/source/blender/editors/space_outliner/outliner.c	2010-02-18 10:09:52 UTC (rev 27006)
+++ trunk/blender/source/blender/editors/space_outliner/outliner.c	2010-02-18 10:14:49 UTC (rev 27007)
@@ -4885,7 +4885,7 @@
 					Object *ob= (Object *)tselem->id; // id = object
 					bActionGroup *grp= te->directdata;
 					
-					BLI_uniquename(&ob->pose->agroups, grp, "Group", '.', offsetof(bActionGroup, name), 32);
+					BLI_uniquename(&ob->pose->agroups, grp, "Group", '.', offsetof(bActionGroup, name), sizeof(grp->name));
 					WM_event_add_notifier(C, NC_OBJECT|ND_POSE, ob);
 				}
 				break;





More information about the Bf-blender-cvs mailing list