Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2012-10-14 07:56:47 +0400
committerCampbell Barton <ideasman42@gmail.com>2012-10-14 07:56:47 +0400
commit3867633728d9229710eaa1409ab8c642a3126967 (patch)
tree4810a8b1c0672aa4091c482e2d7bb90315d1fa5b /source
parente4cffb88363f59b7291ffc5453b9a1da5b1fed62 (diff)
use safer string copy functions and change the define for FILE_MAX_LIBEXTRA to use MAX_ID_NAME (now greater then 32).
Diffstat (limited to 'source')
-rw-r--r--source/blender/editors/space_file/filelist.c17
-rw-r--r--source/blender/editors/space_sequencer/sequencer_edit.c2
-rw-r--r--source/blender/makesdna/DNA_space_types.h2
3 files changed, 11 insertions, 10 deletions
diff --git a/source/blender/editors/space_file/filelist.c b/source/blender/editors/space_file/filelist.c
index ce522ec7e3f..5da198cd972 100644
--- a/source/blender/editors/space_file/filelist.c
+++ b/source/blender/editors/space_file/filelist.c
@@ -1225,11 +1225,12 @@ void filelist_from_main(struct FileList *filelist)
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 @@ void filelist_from_main(struct FileList *filelist)
}
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 @@ void filelist_from_main(struct FileList *filelist)
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;
diff --git a/source/blender/editors/space_sequencer/sequencer_edit.c b/source/blender/editors/space_sequencer/sequencer_edit.c
index c22ab90906a..0bce990788a 100644
--- a/source/blender/editors/space_sequencer/sequencer_edit.c
+++ b/source/blender/editors/space_sequencer/sequencer_edit.c
@@ -1574,7 +1574,7 @@ static int apply_unique_name_cb(Sequence *seq, void *arg_pt)
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;
diff --git a/source/blender/makesdna/DNA_space_types.h b/source/blender/makesdna/DNA_space_types.h
index 4b8fc9c7ed6..2469656ecd7 100644
--- a/source/blender/makesdna/DNA_space_types.h
+++ b/source/blender/makesdna/DNA_space_types.h
@@ -618,7 +618,7 @@ enum FileSortTypeE {
#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