[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [51305] trunk/blender/source/blender: use safer string copy functions and change the define for FILE_MAX_LIBEXTRA to use MAX_ID_NAME (now greater then 32).

Campbell Barton ideasman42 at gmail.com
Sun Oct 14 05:56:50 CEST 2012


Revision: 51305
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=51305
Author:   campbellbarton
Date:     2012-10-14 03:56:47 +0000 (Sun, 14 Oct 2012)
Log Message:
-----------
use safer string copy functions and change the define for FILE_MAX_LIBEXTRA to use MAX_ID_NAME (now greater then 32).

Modified Paths:
--------------
    trunk/blender/source/blender/editors/space_file/filelist.c
    trunk/blender/source/blender/editors/space_sequencer/sequencer_edit.c
    trunk/blender/source/blender/makesdna/DNA_space_types.h

Modified: trunk/blender/source/blender/editors/space_file/filelist.c
===================================================================
--- trunk/blender/source/blender/editors/space_file/filelist.c	2012-10-13 21:32:58 UTC (rev 51304)
+++ trunk/blender/source/blender/editors/space_file/filelist.c	2012-10-14 03:56:47 UTC (rev 51305)
@@ -1225,11 +1225,12 @@
 			if (ok) {
 				if (!filelist->hide_dot || id->name[2] != '.') {
 					memset(files, 0, sizeof(struct direntry));
-					if (id->lib == NULL)
+					if (id->lib == NULL) {
 						files->relname = BLI_strdup(id->name + 2);
+					}
 					else {
-						files->relname = MEM_mallocN(FILE_MAX + 32, "filename for lib");
-						sprintf(files->relname, "%s | %s", id->lib->name, id->name + 2);
+						files->relname = MEM_mallocN(FILE_MAX + (MAX_ID_NAME - 2),     "filename for lib");
+						BLI_snprintf(files->relname, FILE_MAX + (MAX_ID_NAME - 2) + 3, "%s | %s", id->lib->name, id->name + 2);
 					}
 					files->type |= S_IFREG;
 #if 0               // XXXXX TODO show the selection status of the objects
@@ -1239,7 +1240,7 @@
 						}
 						else if (idcode == ID_SCE) {
 							if ( ((Scene *)id)->r.scemode & R_BG_RENDER) files->selflag |= SELECTED_FILE;
-						}					
+						}
 					}
 #endif
 					files->nr = totbl + 1;
@@ -1248,10 +1249,10 @@
 					if (idcode == ID_MA || idcode == ID_TE || idcode == ID_LA || idcode == ID_WO || idcode == ID_IM) {
 						files->flags |= IMAGEFILE;
 					}
-					if (id->lib && fake) BLI_snprintf(files->extra, sizeof(files->extra), "LF %d", id->us);
-					else if (id->lib) BLI_snprintf(files->extra, sizeof(files->extra), "L    %d", id->us);
-					else if (fake) BLI_snprintf(files->extra, sizeof(files->extra), "F    %d", id->us);
-					else BLI_snprintf(files->extra, sizeof(files->extra), "      %d", id->us);
+					if      (id->lib && fake) BLI_snprintf(files->extra, sizeof(files->extra), "LF %d",    id->us);
+					else if (id->lib)         BLI_snprintf(files->extra, sizeof(files->extra), "L    %d",  id->us);
+					else if (fake)            BLI_snprintf(files->extra, sizeof(files->extra), "F    %d",  id->us);
+					else                      BLI_snprintf(files->extra, sizeof(files->extra), "      %d", id->us);
 					
 					if (id->lib) {
 						if (totlib == 0) firstlib = files;

Modified: trunk/blender/source/blender/editors/space_sequencer/sequencer_edit.c
===================================================================
--- trunk/blender/source/blender/editors/space_sequencer/sequencer_edit.c	2012-10-13 21:32:58 UTC (rev 51304)
+++ trunk/blender/source/blender/editors/space_sequencer/sequencer_edit.c	2012-10-14 03:56:47 UTC (rev 51305)
@@ -1574,7 +1574,7 @@
 	Scene *scene = (Scene *)arg_pt;
 	char name[sizeof(seq->name) - 2];
 
-	strcpy(name, seq->name + 2);
+	BLI_strncpy_utf8(name, seq->name + 2, sizeof(name));
 	BKE_sequence_base_unique_name_recursive(&scene->ed->seqbase, seq);
 	BKE_sequencer_dupe_animdata(scene, name, seq->name + 2);
 	return 1;

Modified: trunk/blender/source/blender/makesdna/DNA_space_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_space_types.h	2012-10-13 21:32:58 UTC (rev 51304)
+++ trunk/blender/source/blender/makesdna/DNA_space_types.h	2012-10-14 03:56:47 UTC (rev 51305)
@@ -618,7 +618,7 @@
 #define FILE_MAXFILE        256
 #define FILE_MAX            1024
 
-#define FILE_MAX_LIBEXTRA   (FILE_MAX + 32)
+#define FILE_MAX_LIBEXTRA   (FILE_MAX + MAX_ID_NAME)
 
 /* filesel types */
 #define FILE_UNIX           8




More information about the Bf-blender-cvs mailing list