QL code and tests for C#/C++/JavaScript.

This commit is contained in:
Pavel Avgustinov
2018-08-02 17:53:23 +01:00
commit b55526aa58
10684 changed files with 581163 additions and 0 deletions

View File

@@ -0,0 +1,18 @@
/**
* @name 'new' object freed with 'delete[]'
* @description An object that was allocated with 'new' is being freed using 'delete[]'. Behavior in such cases is undefined and should be avoided. Use 'delete' instead.
* @kind problem
* @problem.severity warning
* @precision high
* @id cpp/new-delete-array-mismatch
* @tags reliability
*/
import NewDelete
from Expr alloc, Expr free, Expr freed
where
allocReaches(freed, alloc, "new") and
freeExprOrIndirect(free, freed, "delete[]")
select
free, "This memory may have been allocated with '$@', not 'new[]'.",
alloc, "new"