[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [24835] trunk/blender/source/blender/ editors/interface/interface.c: fix for crashes displaying long strings in menu's
Campbell Barton
ideasman42 at gmail.com
Mon Nov 23 18:55:52 CET 2009
Revision: 24835
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=24835
Author: campbellbarton
Date: 2009-11-23 18:55:52 +0100 (Mon, 23 Nov 2009)
Log Message:
-----------
fix for crashes displaying long strings in menu's
Modified Paths:
--------------
trunk/blender/source/blender/editors/interface/interface.c
Modified: trunk/blender/source/blender/editors/interface/interface.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface.c 2009-11-23 17:49:06 UTC (rev 24834)
+++ trunk/blender/source/blender/editors/interface/interface.c 2009-11-23 17:55:52 UTC (rev 24835)
@@ -1960,7 +1960,7 @@
sprintf(but->drawstr, "%s%.2f", but->str, value);
}
}
- else strcpy(but->drawstr, but->str);
+ else strncpy(but->drawstr, but->str, UI_MAX_DRAW_STR);
break;
@@ -1978,7 +1978,7 @@
break;
case KEYEVT:
- strcpy(but->drawstr, but->str);
+ strncpy(but->drawstr, but->str, UI_MAX_DRAW_STR);
if (but->flag & UI_SELECT) {
strcat(but->drawstr, "Press a key");
} else {
@@ -1991,9 +1991,9 @@
short *sp= (short *)but->func_arg3;
if(but->flag & UI_BUT_IMMEDIATE)
- strcpy(but->drawstr, but->str);
+ strncpy(but->drawstr, but->str, UI_MAX_DRAW_STR);
else
- strcpy(but->drawstr, "");
+ strncpy(but->drawstr, "", UI_MAX_DRAW_STR);
if(*sp) {
char *str= but->drawstr;
@@ -2011,25 +2011,25 @@
strcat(but->drawstr, "Press a key ");
}
else
- strcpy(but->drawstr, but->str);
+ strncpy(but->drawstr, but->str, UI_MAX_DRAW_STR);
break;
case BUT_TOGDUAL:
/* trying to get the dual-icon to left of text... not very nice */
if(but->str[0]) {
- strcpy(but->drawstr, " ");
- strcpy(but->drawstr+2, but->str);
+ strncpy(but->drawstr, " ", UI_MAX_DRAW_STR);
+ strncpy(but->drawstr+2, but->str, UI_MAX_DRAW_STR-2);
}
break;
default:
- strcpy(but->drawstr, but->str);
+ strncpy(but->drawstr, but->str, UI_MAX_DRAW_STR);
}
/* if we are doing text editing, this will override the drawstr */
if(but->editstr)
- strcpy(but->drawstr, but->editstr);
+ strncpy(but->drawstr, but->editstr, UI_MAX_DRAW_STR);
/* text clipping moved to widget drawing code itself */
}
More information about the Bf-blender-cvs
mailing list