siemens: avoid out of bound access
char num[1]; sprintf(num, "%d", i); leads to a buffer overrun. Simplify the overly complex coding. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Acked-by: Heiko Schocher <hs@denx.de>
This commit is contained in:
parent
40a13173b5
commit
3c7166dbb4
@ -189,14 +189,11 @@ void set_env_gpios(unsigned char state)
|
||||
{
|
||||
char *ptr_env;
|
||||
char str_tmp[5]; /* must contain "ledX"*/
|
||||
char num[1];
|
||||
unsigned char i, idx, pos1, pos2, ccount;
|
||||
unsigned char gpio_n, gpio_s0, gpio_s1;
|
||||
|
||||
for (i = 0; i < MAX_NR_LEDS; i++) {
|
||||
strcpy(str_tmp, "led");
|
||||
sprintf(num, "%d", i);
|
||||
strcat(str_tmp, num);
|
||||
sprintf(str_tmp, "led%d", i);
|
||||
|
||||
/* If env var is not found we stop */
|
||||
ptr_env = env_get(str_tmp);
|
||||
|
Loading…
Reference in New Issue
Block a user