CWARN.NULLCHECK.FUNCNAME

无效的函数地址检查

CWARN.NULLCHECK.FUNCNAME 检查器会查找其中函数地址直接与 0 进行比较的实例。

漏洞与风险

函数地址永不等于 0,因此将其与 0 进行比较时始终为 false 或始终为 true。这类比较没有任何效果,因此可能无法达到设计意图。

漏洞代码示例

复制
  void foo() {
  }
  
  void bar() {
    if (foo != 0)  
      return;
  }

Klocwork 标记了第 5 行,其中的函数名称 foo 将与 0 进行比较。

安全培训

应用程序安全培训材料由 Secure Code Warrior 提供。