CodeQL之CWE-401(4)

之前我们简要的将CWE-401分为了两类:第一类为(过程内)不存在一条路径,将已分配的内存进行了释放,而在写脚本时,我们并没有解决参数传递导致的误报

阅读更多

CodeQL之CWE-401(3)

在第一部分中,我们将CWE-401简单分为两类,第一类是对于分配的内存,不存在路径对它进行了释放,第二类是有的路径释放了,而有的路径忘了释放,现在我们对第二类进行解决

阅读更多

CodeQL之CWE-401(2)

在写第二类CWE-401的查询脚本前,我们需要补充一些东西、在能找到的codeql文档里,大部分都只强推了它的DataFlow模块,而在写第二类查询脚本时,需要用到它的可达性分析模块import semmle.code.cpp.controlflow.StackVariableReachability

阅读更多

CodeQL之CWE-401(1)

The software does not sufficiently track and release allocated memory after it has been used, which slowly consumes remaining memory.

阅读更多

CodeQL之CWE-252

CWE-252: Unchecked Return Value

The software does not check the return value from a method or function, which can prevent it from detecting unexpected states and conditions.

顾名思义,Unchecked Return Value,就是在实际代码中缺少了对返回值的检查,在实际代码中,对错误返回值的检查尤为重要,因为需要进入到相应的错误处理环节中去,否则会影响程序的正常运行。比如我们常见的对malloc返回值的检查等等,和CWE-252相关的还有CWE-754CWE-273CWE-476

阅读更多