C++ - Syscall param socketcall.recvfrom(buf) points to unaddressable byte(s)

記錄一個使用Valgrind時候的小bug

recv(sockfd, buf, MAXLINE, flags)

在調用上面代碼的時候,編譯沒錯,但用Valgrind檢測的時候會報

Syscall param socketcall.recvfrom(buf) points to unaddressable byte(s)

剛開始我以爲是buf沒用malloc,後來發現不是這樣的,是因爲buf malloc的大小 小於 MAXLINE 的大小,於是Valgrind就會指出你可能接收到超出buf大小的數據

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章