[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [34801] trunk/blender: fix for more warnings.

Campbell Barton ideasman42 at gmail.com
Sat Feb 12 17:54:26 CET 2011


Revision: 34801
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=34801
Author:   campbellbarton
Date:     2011-02-12 16:54:24 +0000 (Sat, 12 Feb 2011)
Log Message:
-----------
fix for more warnings.
- modifier code was using sizeof() without knowing the sizeof the array when clearing the modifier type array.
- use BLI_snprintf rather then sprintf where the size of the string is known.
- particle drawing code kept a reference to stack float values (not a problem at the moment but would crash if accessed later).

Modified Paths:
--------------
    trunk/blender/intern/guardedalloc/intern/mallocn.c
    trunk/blender/source/blender/blenkernel/intern/blender.c
    trunk/blender/source/blender/blenkernel/intern/deform.c
    trunk/blender/source/blender/blenkernel/intern/image.c
    trunk/blender/source/blender/blenkernel/intern/library.c
    trunk/blender/source/blender/blenkernel/intern/modifier.c
    trunk/blender/source/blender/blenlib/intern/fileops.c
    trunk/blender/source/blender/editors/animation/anim_markers.c
    trunk/blender/source/blender/editors/interface/interface_regions.c
    trunk/blender/source/blender/editors/space_image/image_draw.c
    trunk/blender/source/blender/editors/space_info/info_stats.c
    trunk/blender/source/blender/editors/space_view3d/drawobject.c
    trunk/blender/source/blender/imbuf/intern/thumbs.c
    trunk/blender/source/blender/makesrna/intern/rna_access.c
    trunk/blender/source/blender/modifiers/intern/MOD_util.c
    trunk/blender/source/blender/python/generic/mathutils_matrix.c
    trunk/blender/source/blender/render/intern/source/pipeline.c
    trunk/blender/source/blender/render/intern/source/volume_precache.c
    trunk/blender/source/blender/windowmanager/intern/wm_files.c
    trunk/blender/source/blender/windowmanager/intern/wm_window.c
    trunk/blender/source/creator/creator.c

Modified: trunk/blender/intern/guardedalloc/intern/mallocn.c
===================================================================
--- trunk/blender/intern/guardedalloc/intern/mallocn.c	2011-02-12 16:06:27 UTC (rev 34800)
+++ trunk/blender/intern/guardedalloc/intern/mallocn.c	2011-02-12 16:54:24 UTC (rev 34801)
@@ -167,12 +167,13 @@
 
 static void print_error(const char *str, ...)
 {
-	char buf[1024];
+	char buf[512];
 	va_list ap;
 
 	va_start(ap, str);
-	vsprintf(buf, str, ap);
+	vsnprintf(buf, sizeof(buf), str, ap);
 	va_end(ap);
+	buf[sizeof(buf) - 1] = '\0';
 
 	if (error_callback) error_callback(buf);
 }

Modified: trunk/blender/source/blender/blenkernel/intern/blender.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/blender.c	2011-02-12 16:06:27 UTC (rev 34800)
+++ trunk/blender/source/blender/blenkernel/intern/blender.c	2011-02-12 16:54:24 UTC (rev 34801)
@@ -124,9 +124,9 @@
 	ENDIAN_ORDER= (((char*)&ENDIAN_ORDER)[0])? L_ENDIAN: B_ENDIAN;
 
 	if(BLENDER_SUBVERSION)
-		sprintf(versionstr, "www.blender.org %d.%d", BLENDER_VERSION, BLENDER_SUBVERSION);
+		BLI_snprintf(versionstr, sizeof(versionstr), "www.blender.org %d.%d", BLENDER_VERSION, BLENDER_SUBVERSION);
 	else
-		sprintf(versionstr, "www.blender.org %d", BLENDER_VERSION);
+		BLI_snprintf(versionstr, sizeof(versionstr), "www.blender.org %d", BLENDER_VERSION);
 
 #ifdef _WIN32	// FULLSCREEN
 	G.windowstate = G_WINDOWSTATE_USERDEF;
@@ -314,7 +314,7 @@
 		
 		char str[128];
 		
-		sprintf(str, "File written by newer Blender binary: %d.%d , expect loss of data!", main->minversionfile, main->minsubversionfile);
+		BLI_snprintf(str, sizeof(str), "File written by newer Blender binary: %d.%d , expect loss of data!", main->minversionfile, main->minsubversionfile);
 // XXX		error(str);
 	}
 	return 1;
@@ -520,7 +520,7 @@
 		counter++;
 		counter= counter % U.undosteps;	
 	
-		sprintf(numstr, "%d.blend", counter);
+		BLI_snprintf(numstr, sizeof(numstr), "%d.blend", counter);
 		BLI_make_file_string("/", tstr, btempdir, numstr);
 	
 		success= BLO_write_file(CTX_data_main(C), tstr, G.fileflags, NULL, NULL);

Modified: trunk/blender/source/blender/blenkernel/intern/deform.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/deform.c	2011-02-12 16:06:27 UTC (rev 34800)
+++ trunk/blender/source/blender/blenkernel/intern/deform.c	2011-02-12 16:54:24 UTC (rev 34801)
@@ -339,10 +339,10 @@
 void flip_side_name (char *name, const char *from_name, int strip_number)
 {
 	int     len;
-	char    prefix[sizeof(((bDeformGroup *)NULL)->name)]= {""};   /* The part before the facing */
-	char    suffix[sizeof(((bDeformGroup *)NULL)->name)]= {""};   /* The part after the facing */
-	char    replace[sizeof(((bDeformGroup *)NULL)->name)]=  {""};  /* The replacement string */
-	char    number[sizeof(((bDeformGroup *)NULL)->name)]=  {""};   /* The number extension string */
+	char    prefix[sizeof(((bDeformGroup *)NULL)->name)]=  "";   /* The part before the facing */
+	char    suffix[sizeof(((bDeformGroup *)NULL)->name)]=  "";   /* The part after the facing */
+	char    replace[sizeof(((bDeformGroup *)NULL)->name)]= "";   /* The replacement string */
+	char    number[sizeof(((bDeformGroup *)NULL)->name)]=  "";   /* The number extension string */
 	char    *index=NULL;
 
 	len= strlen(from_name);

Modified: trunk/blender/source/blender/blenkernel/intern/image.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/image.c	2011-02-12 16:06:27 UTC (rev 34800)
+++ trunk/blender/source/blender/blenkernel/intern/image.c	2011-02-12 16:54:24 UTC (rev 34801)
@@ -873,32 +873,23 @@
 	time_t t;
 
 	if (scene->r.stamp & R_STAMP_FILENAME) {
-		if (G.relbase_valid) {
-			if (do_prefix)		sprintf(stamp_data->file, "File %s", G.main->name);
-			else				sprintf(stamp_data->file, "%s", G.main->name);
-		} else {
-			if (do_prefix)		strcpy(stamp_data->file, "File <untitled>");
-			else				strcpy(stamp_data->file, "<untitled>");
-		}
+		BLI_snprintf(stamp_data->file, sizeof(stamp_data->file), do_prefix ? "File %s":"%s", G.relbase_valid ? G.main->name:"<untitled>");
 	} else {
 		stamp_data->file[0] = '\0';
 	}
 	
 	if (scene->r.stamp & R_STAMP_NOTE) {
 		/* Never do prefix for Note */
-		sprintf(stamp_data->note, "%s", scene->r.stamp_udata);
+		BLI_snprintf(stamp_data->note, sizeof(stamp_data->note), "%s", scene->r.stamp_udata);
 	} else {
 		stamp_data->note[0] = '\0';
 	}
 	
 	if (scene->r.stamp & R_STAMP_DATE) {
-
-		t = time (NULL);
-		tl = localtime (&t);
-		sprintf (text, "%04d/%02d/%02d %02d:%02d:%02d", tl->tm_year+1900, tl->tm_mon+1, tl->tm_mday, tl->tm_hour, tl->tm_min, tl->tm_sec);
-
-		if (do_prefix)		sprintf(stamp_data->date, "Date %s", text);
-		else				sprintf(stamp_data->date, "%s", text);
+		t = time(NULL);
+		tl = localtime(&t);
+		BLI_snprintf(text, sizeof(text), "%04d/%02d/%02d %02d:%02d:%02d", tl->tm_year+1900, tl->tm_mon+1, tl->tm_mday, tl->tm_hour, tl->tm_min, tl->tm_sec);
+		BLI_snprintf(stamp_data->date, sizeof(stamp_data->date), do_prefix ? "Date %s":"%s", text);
 	} else {
 		stamp_data->date[0] = '\0';
 	}
@@ -908,9 +899,8 @@
 	
 		if (name)	strcpy(text, name);
 		else 		strcpy(text, "<none>");
-		
-		if (do_prefix)		sprintf(stamp_data->marker, "Marker %s", text);
-		else				sprintf(stamp_data->marker, "%s", text);
+
+		BLI_snprintf(stamp_data->marker, sizeof(stamp_data->marker), do_prefix ? "Marker %s":"%s", text);
 	} else {
 		stamp_data->marker[0] = '\0';
 	}
@@ -932,12 +922,11 @@
 		}
 
 		if (scene->r.frs_sec < 100)
-			sprintf (text, "%02d:%02d:%02d.%02d", h, m, s, f);
+			BLI_snprintf(text, sizeof(text), "%02d:%02d:%02d.%02d", h, m, s, f);
 		else
-			sprintf (text, "%02d:%02d:%02d.%03d", h, m, s, f);
-		
-		if (do_prefix)		sprintf(stamp_data->time, "Time %s", text);
-		else				sprintf(stamp_data->time, "%s", text);
+			BLI_snprintf(text, sizeof(text), "%02d:%02d:%02d.%03d", h, m, s, f);
+
+		BLI_snprintf(stamp_data->time, sizeof(stamp_data->time), do_prefix ? "Time %s":"%s", text);
 	} else {
 		stamp_data->time[0] = '\0';
 	}
@@ -948,39 +937,32 @@
 		
 		if(scene->r.efra>9)
 			digits= 1 + (int) log10(scene->r.efra);
-		
-		if (do_prefix)		sprintf(format, "Frame %%0%di", digits);
-		else				sprintf(format, "%%0%di", digits);
-		sprintf (stamp_data->frame, format, scene->r.cfra);
+
+		BLI_snprintf(format, sizeof(format), do_prefix ? "Frame %%0%di":"%%0%di", digits);
+		BLI_snprintf (stamp_data->frame, sizeof(stamp_data->frame), format, scene->r.cfra);
 	} else {
 		stamp_data->frame[0] = '\0';
 	}
 
 	if (scene->r.stamp & R_STAMP_CAMERA) {
-		if (scene->camera) strcpy(text, scene->camera->id.name+2);
-		else 		strcpy(text, "<none>");
-		
-		if (do_prefix)		sprintf(stamp_data->camera, "Camera %s", text);
-		else				sprintf(stamp_data->camera, "%s", text);
+		BLI_snprintf(stamp_data->camera, sizeof(stamp_data->camera), do_prefix ? "Camera %s":"%s", scene->camera ? scene->camera->id.name+2 : "<none>");
 	} else {
 		stamp_data->camera[0] = '\0';
 	}
 
 	if (scene->r.stamp & R_STAMP_CAMERALENS) {
 		if (scene->camera && scene->camera->type == OB_CAMERA) {
-			sprintf(text, "%.2f", ((Camera *)scene->camera->data)->lens);
+			BLI_snprintf(text, sizeof(text), "%.2f", ((Camera *)scene->camera->data)->lens);
 		}
 		else 		strcpy(text, "<none>");
 
-		if (do_prefix)		sprintf(stamp_data->cameralens, "Lens %s", text);
-		else				sprintf(stamp_data->cameralens, "%s", text);
+		BLI_snprintf(stamp_data->cameralens, sizeof(stamp_data->cameralens), do_prefix ? "Lens %s":"%s", text);
 	} else {
 		stamp_data->cameralens[0] = '\0';
 	}
 
 	if (scene->r.stamp & R_STAMP_SCENE) {
-		if (do_prefix)		sprintf(stamp_data->scene, "Scene %s", scene->id.name+2);
-		else				sprintf(stamp_data->scene, "%s", scene->id.name+2);
+		BLI_snprintf(stamp_data->scene, sizeof(stamp_data->scene), do_prefix ? "Scene %s":"%s", scene->id.name+2);
 	} else {
 		stamp_data->scene[0] = '\0';
 	}
@@ -990,9 +972,8 @@
 	
 		if (seq) strcpy(text, seq->name+2);
 		else 		strcpy(text, "<none>");
-		
-		if (do_prefix)		sprintf(stamp_data->strip, "Strip %s", text);
-		else				sprintf(stamp_data->strip, "%s", text);
+
+		BLI_snprintf(stamp_data->strip, sizeof(stamp_data->strip), do_prefix ? "Strip %s":"%s", text);
 	} else {
 		stamp_data->strip[0] = '\0';
 	}
@@ -1004,8 +985,7 @@
 		if (stats && (scene->r.stamp & R_STAMP_RENDERTIME)) {
 			BLI_timestr(stats->lastframetime, text);
 
-			if (do_prefix)		sprintf(stamp_data->rendertime, "RenderTime %s", text);
-			else				sprintf(stamp_data->rendertime, "%s", text);
+			BLI_snprintf(stamp_data->rendertime, sizeof(stamp_data->rendertime), do_prefix ? "RenderTime %s":"%s", text);
 		} else {
 			stamp_data->rendertime[0] = '\0';
 		}

Modified: trunk/blender/source/blender/blenkernel/intern/library.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/library.c	2011-02-12 16:06:27 UTC (rev 34800)
+++ trunk/blender/source/blender/blenkernel/intern/library.c	2011-02-12 16:54:24 UTC (rev 34801)
@@ -920,7 +920,7 @@
 				
 			BLI_dynstr_append(pupds, buf);
 			BLI_dynstr_append(pupds, id->name+2);
-			sprintf(buf, "%%x%d", i+1);
+			BLI_snprintf(buf, sizeof(buf), "%%x%d", i+1);
 			BLI_dynstr_append(pupds, buf);
 			
 			/* icon */
@@ -931,7 +931,7 @@
 			case ID_IM: /* fall through */
 			case ID_WO: /* fall through */
 			case ID_LA: /* fall through */
-				sprintf(buf, "%%i%d", BKE_icon_getid(id) );
+				BLI_snprintf(buf, sizeof(buf), "%%i%d", BKE_icon_getid(id) );
 				BLI_dynstr_append(pupds, buf);
 				break;
 			default:
@@ -1128,7 +1128,7 @@
 			continue;
 		}
 		/* this format specifier is from hell... */
-		sprintf(name, "%s.%.3d", left, nr);
+		BLI_snprintf(name, sizeof(id->name) - 2,"%s.%.3d", left, nr);
 
 		return 1;
 	}

Modified: trunk/blender/source/blender/blenkernel/intern/modifier.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/modifier.c	2011-02-12 16:06:27 UTC (rev 34800)
+++ trunk/blender/source/blender/blenkernel/intern/modifier.c	2011-02-12 16:54:24 UTC (rev 34801)
@@ -57,7 +57,7 @@
 
 ModifierTypeInfo *modifierType_getInfo(ModifierType type)
 {
-	static ModifierTypeInfo *types[NUM_MODIFIER_TYPES];
+	static ModifierTypeInfo *types[NUM_MODIFIER_TYPES]= {0};
 	static int types_init = 1;
 
 	if (types_init) {

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list