【发布时间】:2016-01-25 09:35:39
【问题描述】:
以下代码
TRACE_SEND_SIG(pOutSig, sender((void *) &pSig),"IPOM_DHCP_IF_UNSUBSCRIBE_RSP");
send((void *) &pOutSig, sender((void *) &pSig));
Coverity 发出错误:
打电话
send((void *)&pOutSig, sender((void *)&pSig))没有 检查返回值。此库函数可能会失败并返回 错误代码。
在上面的代码上下文中,有意不检查send 的返回值。我怎样才能抑制这个错误。
【问题讨论】:
-
避免警告通常不是一个好主意。
-
正如它所说,不要忽略返回码:res = send((void *) &pOutSig, sender((void *) &pSig));
-
请不要破坏您的帖子。
-
Coverity 在 AST(抽象语法树)级别工作,无法避免此错误。即使通过另一个答案中提到的技巧。您可以尝试在
send调用之前的一行中通过代码注释 /*coverity[check_return] */ 在覆盖率报告中抑制它。注意:抑制覆盖仅意味着将错误标记为故意的。它仍会显示在问题列表中,但状态为已关闭(有意)。