[zlaski/memset-model] Remove taint tracking from Memset.qll. Add Memset.qll to Models.qll.

This commit is contained in:
Ziemowit Laski
2019-09-26 12:14:35 -07:00
parent 144aacb09d
commit aaa2a60b93
2 changed files with 6 additions and 3 deletions

View File

@@ -1,6 +1,7 @@
private import implementations.IdentityFunction
private import implementations.Inet
private import implementations.Memcpy
private import implementations.Memset
private import implementations.Printf
private import implementations.Pure
private import implementations.Strcat

View File

@@ -1,17 +1,19 @@
import semmle.code.cpp.Function
import semmle.code.cpp.models.interfaces.ArrayFunction
import semmle.code.cpp.models.interfaces.DataFlow
import semmle.code.cpp.models.interfaces.Taint
/**
* The standard function `memset` and its assorted variants
*/
class MemsetFunction extends ArrayFunction, DataFlowFunction, TaintFunction {
class MemsetFunction extends ArrayFunction, DataFlowFunction {
MemsetFunction() {
hasGlobalName("memset") or
hasGlobalName("wmemset") or
hasGlobalName("bzero") or
hasGlobalName("__builtin_memset") or
hasQualifiedName("std", "memset")
hasGlobalName("__builtin_memset_chk") or
hasQualifiedName("std", "memset") or
hasQualifiedName("std", "wmemset")
}
override predicate hasArrayOutput(int bufParam) { bufParam = 0 }