[问题] 关于cppcheck用来检查程式的 error

楼主: gn00618777 (非常念旧)   2019-09-14 22:46:15
我在 linux 上开发程式。工作上的电脑 64 位元
apt-get 了 cppcheck 套件来检查自己程式的潜藏问题
印象中的程式是这样
FILE *pF;
pF = fopen("b.txt", "r");
char a[256]="", *recv = fgets(a, sizeof(a), pF);
fclose(pF);
下了 cppcheck test.c 2> look
会出现 error: buf is accessed out of bounds
我回家用自己的电脑再K一次,又没出现error了~"~,想请问各位打上这段程式码
有出现类似的问题吗?
要是有出现error,我是想问发生error的原因,因为我看了好几次都不觉得有error
但 cppcheck 却说有。然后我把 a[256]=""; 变成a[256]; 就没出现error。
不太解,谢谢。
作者: dces4212 (flawless)   2019-09-15 12:05:00
怎觉得你是在非宣告的地方打了a[256]="",才跳出越界存取
楼主: gn00618777 (非常念旧)   2019-09-15 20:59:00
疑? char a[256]="", *recv = ... 这边不就是宣告了?

Links booklink

Contact Us: admin [ a t ] ucptt.com