CPP: Autoformat 'Critical'.

This commit is contained in:
Geoffrey White
2019-04-17 14:17:24 +01:00
parent 45a35a8572
commit e395f5215f
34 changed files with 654 additions and 635 deletions

View File

@@ -8,16 +8,22 @@
* security
* external/cwe/cwe-476
*/
import cpp
from LocalScopeVariable v, ControlFlowNode def,
VariableAccess checked, VariableAccess unchecked
where checked = v.getAnAccess() and dereferenced(checked)
and unchecked = v.getAnAccess() and dereferenced(unchecked)
and definitionUsePair(v, def, checked)
and definitionUsePair(v, def, unchecked)
and checkedValid(v, checked)
and not(checkedValid(v, unchecked))
and not(unchecked.getParent+() instanceof SizeofOperator)
and forall(ControlFlowNode other | definitionUsePair(v, other, checked) | definitionUsePair(v, other, unchecked))
select unchecked, "This dereference is not guarded by a non-null check, whereas other dereferences are guarded"
from LocalScopeVariable v, ControlFlowNode def, VariableAccess checked, VariableAccess unchecked
where
checked = v.getAnAccess() and
dereferenced(checked) and
unchecked = v.getAnAccess() and
dereferenced(unchecked) and
definitionUsePair(v, def, checked) and
definitionUsePair(v, def, unchecked) and
checkedValid(v, checked) and
not checkedValid(v, unchecked) and
not unchecked.getParent+() instanceof SizeofOperator and
forall(ControlFlowNode other | definitionUsePair(v, other, checked) |
definitionUsePair(v, other, unchecked)
)
select unchecked,
"This dereference is not guarded by a non-null check, whereas other dereferences are guarded"