CWARN.HIDDEN.PARAM

参数被局部变量隐藏

CWARN.HIDDEN.PARAM 检查器可查找其中局部变量隐藏了参数的实例。

漏洞与风险

由于程序将始终使用范围中最近的变量,因此局部变量可隐藏其包含的函数的参数,并使这些参数无法访问。发生这种意想不到的行为时,可能产生意外后果。

漏洞代码示例

复制
  void foo(int a) {
    int a = 0;     
         if (a > 3) {...}

在此示例中,Klocwork 标记了第 2 行,指出局部变量 a 隐藏了函数参数。