[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [58255] trunk/blender/source/blender: fix for bad lengths being passed to string functions.

Campbell Barton ideasman42 at gmail.com
Mon Jul 15 07:11:15 CEST 2013


Revision: 58255
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=58255
Author:   campbellbarton
Date:     2013-07-15 05:11:14 +0000 (Mon, 15 Jul 2013)
Log Message:
-----------
fix for bad lengths being passed to string functions.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/BKE_sequencer.h
    trunk/blender/source/blender/editors/interface/interface_panel.c
    trunk/blender/source/blender/editors/space_file/filelist.c
    trunk/blender/source/blender/editors/space_sequencer/sequencer_add.c
    trunk/blender/source/blender/windowmanager/intern/wm_operators.c

Modified: trunk/blender/source/blender/blenkernel/BKE_sequencer.h
===================================================================
--- trunk/blender/source/blender/blenkernel/BKE_sequencer.h	2013-07-15 05:09:06 UTC (rev 58254)
+++ trunk/blender/source/blender/blenkernel/BKE_sequencer.h	2013-07-15 05:11:14 UTC (rev 58255)
@@ -334,7 +334,7 @@
 	int tot_success;
 	int tot_error;
 	int len;        /* only for image strips */
-	char path[512];
+	char path[1024]; /* 1024 = FILE_MAX */
 	char name[64];
 } SeqLoadInfo;
 

Modified: trunk/blender/source/blender/editors/interface/interface_panel.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_panel.c	2013-07-15 05:09:06 UTC (rev 58254)
+++ trunk/blender/source/blender/editors/interface/interface_panel.c	2013-07-15 05:11:14 UTC (rev 58255)
@@ -255,7 +255,7 @@
 		pa->sizey = 0;
 	}
 
-	BLI_strncpy(pa->drawname, drawname, UI_MAX_NAME_STR);
+	BLI_strncpy(pa->drawname, drawname, sizeof(pa->drawname));
 
 	/* if a new panel is added, we insert it right after the panel
 	 * that was last added. this way new panels are inserted in the

Modified: trunk/blender/source/blender/editors/space_file/filelist.c
===================================================================
--- trunk/blender/source/blender/editors/space_file/filelist.c	2013-07-15 05:09:06 UTC (rev 58254)
+++ trunk/blender/source/blender/editors/space_file/filelist.c	2013-07-15 05:11:14 UTC (rev 58255)
@@ -463,11 +463,8 @@
 
 	/* create next folder element */
 	folder = (FolderList *)MEM_mallocN(sizeof(FolderList), "FolderList");
-	folder->foldername = (char *)MEM_mallocN(sizeof(char) * (strlen(dir) + 1), "foldername");
-	folder->foldername[0] = '\0';
+	folder->foldername = BLI_strdup(dir);
 
-	BLI_strncpy(folder->foldername, dir, FILE_MAXDIR);
-
 	/* add it to the end of the list */
 	BLI_addtail(folderlist, folder);
 }

Modified: trunk/blender/source/blender/editors/space_sequencer/sequencer_add.c
===================================================================
--- trunk/blender/source/blender/editors/space_sequencer/sequencer_add.c	2013-07-15 05:09:06 UTC (rev 58254)
+++ trunk/blender/source/blender/editors/space_sequencer/sequencer_add.c	2013-07-15 05:11:14 UTC (rev 58255)
@@ -118,7 +118,7 @@
 		Scene *scene = CTX_data_scene(C);
 		Sequence *last_seq = BKE_sequencer_active_get(scene);
 		if (last_seq && last_seq->strip && SEQ_HAS_PATH(last_seq)) {
-			char path[sizeof(last_seq->strip->dir)];
+			char path[FILE_MAX];
 			BLI_strncpy(path, last_seq->strip->dir, sizeof(path));
 			BLI_path_abs(path, G.main->name);
 			RNA_string_set(op->ptr, identifier, path);

Modified: trunk/blender/source/blender/windowmanager/intern/wm_operators.c
===================================================================
--- trunk/blender/source/blender/windowmanager/intern/wm_operators.c	2013-07-15 05:09:06 UTC (rev 58254)
+++ trunk/blender/source/blender/windowmanager/intern/wm_operators.c	2013-07-15 05:11:14 UTC (rev 58255)
@@ -495,7 +495,7 @@
 		BLI_ascii_strtolower(to, ofs);
 
 		to[ofs] = '.';
-		BLI_strncpy(to + (ofs + 1), sep + 4, OP_MAX_TYPENAME);
+		BLI_strncpy(to + (ofs + 1), sep + 4, OP_MAX_TYPENAME - (ofs + 1));
 	}
 	else {
 		/* should not happen but support just in case */
@@ -514,9 +514,8 @@
 
 			memcpy(to, from, sizeof(char) * ofs);
 			BLI_ascii_strtoupper(to, ofs);
-
-			BLI_strncpy(to + ofs, "_OT_", OP_MAX_TYPENAME);
-			BLI_strncpy(to + (ofs + 4), sep + 1, OP_MAX_TYPENAME);
+			strcpy(to + ofs, "_OT_");
+			strcpy(to + (ofs + 4), sep + 1);
 		}
 		else {
 			/* should not happen but support just in case */




More information about the Bf-blender-cvs mailing list