From 14e048aa8e7cfd292d44aad762328b59dee53495 Mon Sep 17 00:00:00 2001 From: misonyo Date: Wed, 13 Mar 2019 22:05:03 +0800 Subject: [PATCH] [components/shell] shell will not work if ch is none zero as random value in stack The serial getchar will only modify the LSB of ch, the MSB 3 bytes will be unchanged as the random value on stack, so if MSB 3 bytes not zero, the value got is wrong. --- components/finsh/shell.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/finsh/shell.c b/components/finsh/shell.c index 61c8d3dd15..1033e2c998 100644 --- a/components/finsh/shell.c +++ b/components/finsh/shell.c @@ -139,7 +139,7 @@ static int finsh_getchar(void) #ifdef RT_USING_POSIX return getchar(); #else - int ch; + int ch = 0; RT_ASSERT(shell != RT_NULL); while (rt_device_read(shell->device, -1, &ch, 1) != 1)