[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [40581] trunk/blender/source: replace strncpy with BLI_strncpy, in some cases strncpy was being misused since it doesnt ensure \0 termination .
Campbell Barton
ideasman42 at gmail.com
Mon Sep 26 20:51:10 CEST 2011
Revision: 40581
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=40581
Author: campbellbarton
Date: 2011-09-26 18:51:10 +0000 (Mon, 26 Sep 2011)
Log Message:
-----------
replace strncpy with BLI_strncpy, in some cases strncpy was being misused since it doesnt ensure \0 termination.
also dont call CTX_data_scene() twice when checking for function arguments.
Modified Paths:
--------------
trunk/blender/source/blender/blenfont/intern/blf_lang.c
trunk/blender/source/blender/blenkernel/intern/action.c
trunk/blender/source/blender/blenkernel/intern/blender.c
trunk/blender/source/blender/blenkernel/intern/ipo.c
trunk/blender/source/blender/blenkernel/intern/key.c
trunk/blender/source/blender/blenkernel/intern/node.c
trunk/blender/source/blender/blenkernel/intern/seqeffects.c
trunk/blender/source/blender/blenkernel/intern/sequencer.c
trunk/blender/source/blender/blenloader/intern/readfile.c
trunk/blender/source/blender/editors/armature/poselib.c
trunk/blender/source/blender/editors/physics/particle_edit.c
trunk/blender/source/blender/editors/sculpt_paint/paint_undo.c
trunk/blender/source/blender/editors/space_sequencer/sequencer_select.c
trunk/blender/source/blender/editors/space_text/text_draw.c
trunk/blender/source/blender/editors/util/editmode_undo.c
trunk/blender/source/blender/modifiers/intern/MOD_armature.c
trunk/blender/source/blender/modifiers/intern/MOD_bevel.c
trunk/blender/source/blender/modifiers/intern/MOD_cast.c
trunk/blender/source/blender/modifiers/intern/MOD_curve.c
trunk/blender/source/blender/modifiers/intern/MOD_displace.c
trunk/blender/source/blender/modifiers/intern/MOD_hook.c
trunk/blender/source/blender/modifiers/intern/MOD_lattice.c
trunk/blender/source/blender/modifiers/intern/MOD_smooth.c
trunk/blender/source/blender/modifiers/intern/MOD_warp.c
trunk/blender/source/blender/modifiers/intern/MOD_wave.c
trunk/blender/source/blender/nodes/intern/node_common.c
trunk/blender/source/blender/python/generic/bpy_internal_import.c
trunk/blender/source/blender/render/intern/source/convertblender.c
trunk/blender/source/blender/render/intern/source/pipeline.c
trunk/blender/source/creator/creator.c
Modified: trunk/blender/source/blender/blenfont/intern/blf_lang.c
===================================================================
--- trunk/blender/source/blender/blenfont/intern/blf_lang.c 2011-09-26 17:32:50 UTC (rev 40580)
+++ trunk/blender/source/blender/blenfont/intern/blf_lang.c 2011-09-26 18:51:10 UTC (rev 40581)
@@ -158,7 +158,7 @@
char *s;
/* store defaul locale */
- strncpy(default_locale, env_language, sizeof(default_locale));
+ BLI_strncpy(default_locale, env_language, sizeof(default_locale));
/* use first language as default */
s= strchr(default_locale, ':');
Modified: trunk/blender/source/blender/blenkernel/intern/action.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/action.c 2011-09-26 17:32:50 UTC (rev 40580)
+++ trunk/blender/source/blender/blenkernel/intern/action.c 2011-09-26 18:51:10 UTC (rev 40581)
@@ -270,7 +270,7 @@
/* make it selected, with default name */
agrp->flag = AGRP_SELECTED;
- strncpy(agrp->name, name[0] ? name : "Group", sizeof(agrp->name));
+ BLI_strncpy(agrp->name, name[0] ? name : "Group", sizeof(agrp->name));
/* add to action, and validate */
BLI_addtail(&act->groups, agrp);
Modified: trunk/blender/source/blender/blenkernel/intern/blender.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/blender.c 2011-09-26 17:32:50 UTC (rev 40580)
+++ trunk/blender/source/blender/blenkernel/intern/blender.c 2011-09-26 18:51:10 UTC (rev 40581)
@@ -518,7 +518,7 @@
/* make new */
curundo= uel= MEM_callocN(sizeof(UndoElem), "undo file");
- strncpy(uel->name, name, MAXUNDONAME-1);
+ BLI_strncpy(uel->name, name, sizeof(uel->name));
BLI_addtail(&undobase, uel);
/* and limit amount to the maximum */
Modified: trunk/blender/source/blender/blenkernel/intern/ipo.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/ipo.c 2011-09-26 17:32:50 UTC (rev 40580)
+++ trunk/blender/source/blender/blenkernel/intern/ipo.c 2011-09-26 18:51:10 UTC (rev 40581)
@@ -1103,7 +1103,7 @@
agrp->flag = AGRP_SELECTED;
if (muteipo) agrp->flag |= AGRP_MUTED;
- strncpy(agrp->name, grpname, sizeof(agrp->name));
+ BLI_strncpy(agrp->name, grpname, sizeof(agrp->name));
BLI_addtail(&tmp_act.groups, agrp);
BLI_uniquename(&tmp_act.groups, agrp, "Group", '.', offsetof(bActionGroup, name), sizeof(agrp->name));
Modified: trunk/blender/source/blender/blenkernel/intern/key.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/key.c 2011-09-26 17:32:50 UTC (rev 40580)
+++ trunk/blender/source/blender/blenkernel/intern/key.c 2011-09-26 18:51:10 UTC (rev 40581)
@@ -1445,10 +1445,10 @@
tot= BLI_countlist(&key->block);
if(name) {
- strncpy(kb->name, name, sizeof(kb->name));
+ BLI_strncpy(kb->name, name, sizeof(kb->name));
} else {
- if(tot==1) strcpy(kb->name, "Basis");
- else sprintf(kb->name, "Key %d", tot-1);
+ if(tot==1) BLI_strncpy(kb->name, "Basis", sizeof(kb->name));
+ else BLI_snprintf(kb->name, sizeof(kb->name), "Key %d", tot-1);
}
BLI_uniquename(&key->block, kb, "Key", '.', offsetof(KeyBlock, name), sizeof(kb->name));
Modified: trunk/blender/source/blender/blenkernel/intern/node.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/node.c 2011-09-26 17:32:50 UTC (rev 40580)
+++ trunk/blender/source/blender/blenkernel/intern/node.c 2011-09-26 18:51:10 UTC (rev 40581)
@@ -1682,7 +1682,7 @@
void node_type_storage(bNodeType *ntype, const char *storagename, void (*freestoragefunc)(struct bNode *), void (*copystoragefunc)(struct bNode *, struct bNode *))
{
if (storagename)
- strncpy(ntype->storagename, storagename, sizeof(ntype->storagename));
+ BLI_strncpy(ntype->storagename, storagename, sizeof(ntype->storagename));
else
ntype->storagename[0] = '\0';
ntype->copystoragefunc = copystoragefunc;
Modified: trunk/blender/source/blender/blenkernel/intern/seqeffects.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/seqeffects.c 2011-09-26 17:32:50 UTC (rev 40580)
+++ trunk/blender/source/blender/blenkernel/intern/seqeffects.c 2011-09-26 18:51:10 UTC (rev 40581)
@@ -41,6 +41,7 @@
#include "BLI_math.h" /* windows needs for M_PI */
#include "BLI_utildefines.h"
+#include "BLI_string.h"
#include "DNA_scene_types.h"
#include "DNA_sequence_types.h"
@@ -177,7 +178,7 @@
MEM_freeN(info);
cp= BLI_dynlib_find_symbol(pis->handle, "seqname");
- if(cp) strncpy(cp, seqname, 21);
+ if(cp) BLI_strncpy(cp, seqname, 21);
} else {
printf ("Plugin returned unrecognized version number\n");
return;
@@ -203,7 +204,7 @@
pis= MEM_callocN(sizeof(PluginSeq), "PluginSeq");
- strncpy(pis->name, str, FILE_MAXDIR+FILE_MAXFILE);
+ BLI_strncpy(pis->name, str, FILE_MAX);
open_plugin_seq(pis, seqname);
if(pis->doit==NULL) {
Modified: trunk/blender/source/blender/blenkernel/intern/sequencer.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/sequencer.c 2011-09-26 17:32:50 UTC (rev 40580)
+++ trunk/blender/source/blender/blenkernel/intern/sequencer.c 2011-09-26 18:51:10 UTC (rev 40581)
@@ -3653,7 +3653,7 @@
calc_sequence_disp(scene, seq);
/* last active name */
- strncpy(ed->act_sounddir, strip->dir, FILE_MAXDIR-1);
+ BLI_strncpy(ed->act_sounddir, strip->dir, FILE_MAXDIR);
seq_load_apply(scene, seq, seq_load);
Modified: trunk/blender/source/blender/blenloader/intern/readfile.c
===================================================================
--- trunk/blender/source/blender/blenloader/intern/readfile.c 2011-09-26 17:32:50 UTC (rev 40580)
+++ trunk/blender/source/blender/blenloader/intern/readfile.c 2011-09-26 18:51:10 UTC (rev 40581)
@@ -516,7 +516,7 @@
BLI_addtail(mainlist, m);
lib= alloc_libblock(&m->library, ID_LI, "lib");
- strncpy(lib->name, filepath, sizeof(lib->name)-1);
+ BLI_strncpy(lib->name, filepath, sizeof(lib->name));
BLI_strncpy(lib->filepath, name1, sizeof(lib->filepath));
m->curlib= lib;
@@ -5614,7 +5614,7 @@
* link into an unsaved blend file. See [#27405].
* The remap relative option will make it relative again on save - campbell */
if (strncmp(lib->name, "//", 2)==0) {
- strncpy(lib->name, lib->filepath, sizeof(lib->name));
+ BLI_strncpy(lib->name, lib->filepath, sizeof(lib->name));
}
}
}
@@ -5623,7 +5623,7 @@
/* Libraries store both relative and abs paths, recreate relative paths,
* relative to the blend file since indirectly linked libs will be relative to their direct linked library */
if (strncmp(lib->name, "//", 2)==0) { /* if this is relative to begin with? */
- strncpy(lib->name, lib->filepath, sizeof(lib->name));
+ BLI_strncpy(lib->name, lib->filepath, sizeof(lib->name));
BLI_path_rel(lib->name, basepath);
}
}
@@ -12240,7 +12240,7 @@
bfd->main->versionfile= fd->fileversion;
bfd->type= BLENFILETYPE_BLEND;
- strncpy(bfd->main->name, filepath, sizeof(bfd->main->name)-1);
+ BLI_strncpy(bfd->main->name, filepath, sizeof(bfd->main->name));
while(bhead) {
switch(bhead->code) {
Modified: trunk/blender/source/blender/editors/armature/poselib.c
===================================================================
--- trunk/blender/source/blender/editors/armature/poselib.c 2011-09-26 17:32:50 UTC (rev 40580)
+++ trunk/blender/source/blender/editors/armature/poselib.c 2011-09-26 18:51:10 UTC (rev 40581)
@@ -993,7 +993,7 @@
memcpy(&tempstr[index+1], &pld->searchstr[index], 64-index);
}
else {
- strncpy(tempstr, pld->searchstr, 64);
+ BLI_strncpy(tempstr, pld->searchstr, sizeof(tempstr));
}
/* get marker name */
Modified: trunk/blender/source/blender/editors/physics/particle_edit.c
===================================================================
--- trunk/blender/source/blender/editors/physics/particle_edit.c 2011-09-26 17:32:50 UTC (rev 40580)
+++ trunk/blender/source/blender/editors/physics/particle_edit.c 2011-09-26 18:51:10 UTC (rev 40581)
@@ -3918,7 +3918,7 @@
/* make new */
edit->curundo= undo= MEM_callocN(sizeof(PTCacheUndo), "particle undo file");
- strncpy(undo->name, str, 64-1);
+ BLI_strncpy(undo->name, str, sizeof(undo->name));
BLI_addtail(&edit->undo, undo);
/* and limit amount to the maximum */
Modified: trunk/blender/source/blender/editors/sculpt_paint/paint_undo.c
===================================================================
--- trunk/blender/source/blender/editors/sculpt_paint/paint_undo.c 2011-09-26 17:32:50 UTC (rev 40580)
+++ trunk/blender/source/blender/editors/sculpt_paint/paint_undo.c 2011-09-26 18:51:10 UTC (rev 40581)
@@ -34,6 +34,7 @@
#include "BLI_listbase.h"
#include "BLI_utildefines.h"
+#include "BLI_string.h"
#include "DNA_userdef_types.h"
@@ -106,7 +107,7 @@
BLI_addtail(&stack->elems, uel);
/* name can be a dynamic string */
- strncpy(uel->name, name, MAXUNDONAME-1);
+ BLI_strncpy(uel->name, name, sizeof(uel->name));
/* limit amount to the maximum amount*/
nr= 0;
Modified: trunk/blender/source/blender/editors/space_sequencer/sequencer_select.c
===================================================================
--- trunk/blender/source/blender/editors/space_sequencer/sequencer_select.c 2011-09-26 17:32:50 UTC (rev 40580)
+++ trunk/blender/source/blender/editors/space_sequencer/sequencer_select.c 2011-09-26 18:51:10 UTC (rev 40581)
@@ -169,11 +169,11 @@
if((seq->type==SEQ_IMAGE) || (seq->type==SEQ_MOVIE)) {
if(seq->strip)
- strncpy(ed->act_imagedir, seq->strip->dir, FILE_MAXDIR-1);
+ BLI_strncpy(ed->act_imagedir, seq->strip->dir, FILE_MAXDIR);
}
else if(seq->type==SEQ_SOUND) {
if(seq->strip)
- strncpy(ed->act_sounddir, seq->strip->dir, FILE_MAXDIR-1);
+ BLI_strncpy(ed->act_sounddir, seq->strip->dir, FILE_MAXDIR);
}
seq->flag|= SELECT;
recurs_sel_seq(seq);
@@ -389,12 +389,12 @@
if ((seq->type == SEQ_IMAGE) || (seq->type == SEQ_MOVIE)) {
if(seq->strip) {
- strncpy(ed->act_imagedir, seq->strip->dir, FILE_MAXDIR-1);
+ BLI_strncpy(ed->act_imagedir, seq->strip->dir, FILE_MAXDIR);
}
} else
if (seq->type == SEQ_SOUND) {
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list