CS.NRE.CONST.CALL

一个 null 对象引用常量值传递给可取消引用该值并无需检查 null 的一个函数。

漏洞与风险

取消引用 null 对象引用是一个严重的运行时问题,该问题将导致一些操作系统的应用程序崩溃,并引发另一些操作系统出现运行时异常。

示例 1

复制
                      class Param {
                          public int par1() {
                              return 0;
                          }
                      }
                      class NPD3 {
                          public void foo() {
                              foo2(null);
                          }
                         public void foo2(Param param) {
                             if (flag)
                                 return;
                             param.par1();
                         }
                         private bool flag;
                     }

Klocwork 针对第 8 行生成问题报告 (CS.NRE.CONST.CALL)。常量 null 指针值作为参数 1 传递给了第 8 行的函数“foo2”,该函数可取消引用该值。

安全培训

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