소스 검색

[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.
misonyo 6 년 전
부모
커밋
14e048aa8e
1개의 변경된 파일1개의 추가작업 그리고 1개의 파일을 삭제
  1. 1 1
      components/finsh/shell.c

+ 1 - 1
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)