【问题标题】:Coverity Prevent: how to handle "checked return" warning when I deliberately don't check the return?Coverity Prevent:当我故意不检查退货时如何处理“已检查退货”警告?
【发布时间】:2011-02-22 01:33:27
【问题描述】:

正如标题所暗示的,例如,在 85% 的情况下,我想检查 foo() 的返回码,但有时我真的不在乎,但这会引发 Coverity 警告。

解决这个问题的最佳方法是什么? 更改 Coverity 设置不算数。 :)

【问题讨论】:

    标签: coverity-prevent


    【解决方案1】:

    抑制 CHECKED_RETURN 缺陷的正确方法是将您不关心的返回值转换为 void。这还有一个额外的好处,就是让任何阅读代码的人都清楚你不关心返回值,而不是你忘记检查它。

    【讨论】:

    • 此外,由于 Coverity 不是分析源代码而是分析 AST,因此尝试使用宏进行欺骗分析将不起作用。
    • Coverity 在将演员表添加到 void 后,仍然为我标记了此错误 (void)fread(..)。也许该选项不适用于标记为“始终检查”的系统调用/函数。不过这是合法的,一个单独的 ferror() 覆盖了失败的情况。
    • 对,统计检查器尊重(无效),但明确要求检查的检查器即使尝试抑制也会标记检查失败。总是有注释注释可以在需要时抑制 那些 :)
    猜你喜欢
    • 1970-01-01
    • 2014-06-29
    • 2023-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多