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

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to