[問題] 關於cppcheck用來檢查程式的 error

看板C_and_CPP作者 (非常念舊)時間4年前 (2019/09/14 22:46), 編輯推噓0(003)
留言3則, 2人參與, 4年前最新討論串1/1
我在 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。 不太解,謝謝。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 219.68.215.61 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1568472378.A.7EE.html

09/15 12:05, 4年前 , 1F
怎覺得你是在非宣告的地方打了a[256]="",才跳出越界存
09/15 12:05, 1F

09/15 12:05, 4年前 , 2F
09/15 12:05, 2F

09/15 20:59, 4年前 , 3F
疑? char a[256]="", *recv = ... 這邊不就是宣告了?
09/15 20:59, 3F
文章代碼(AID): #1TVFqwVk (C_and_CPP)