[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