From: Denis Vlasenko Date: Sat, 21 Mar 2009 21:51:11 +0000 (-0000) Subject: hush: fix strcpy of potentially overlapping strings X-Git-Tag: 1_14_0~200 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=786ce17d6d602c471aab3cbd6ea00c854bfe9366;p=oweals%2Fbusybox.git hush: fix strcpy of potentially overlapping strings --- diff --git a/shell/hush.c b/shell/hush.c index bfd487cfb..2c4704a9c 100644 --- a/shell/hush.c +++ b/shell/hush.c @@ -2801,7 +2801,7 @@ static char *expand_string_to_string(const char *str) if (!list[0] || list[1]) bb_error_msg_and_die("BUG in varexp2"); /* actually, just move string 2*sizeof(char*) bytes back */ - strcpy((char*)list, list[0]); + overlapping_strcpy((char*)list, list[0]); debug_printf_expand("string_to_string='%s'\n", (char*)list); return (char*)list; } @@ -2823,7 +2823,7 @@ static char* expand_strvec_to_string(char **argv) n++; } } - strcpy((char*)list, list[0]); + overlapping_strcpy((char*)list, list[0]); debug_printf_expand("strvec_to_string='%s'\n", (char*)list); return (char*)list; }