mirror of
https://github.com/github/codeql.git
synced 2026-04-30 11:15:13 +02:00
C++: Remove taint flow from size parameter.
This commit is contained in:
@@ -13,7 +13,7 @@ import semmle.code.cpp.models.interfaces.Taint
|
||||
* The standard functions `memcpy` and `memmove`, and the gcc variant
|
||||
* `__builtin___memcpy_chk`
|
||||
*/
|
||||
class MemcpyFunction extends ArrayFunction, DataFlowFunction, SideEffectFunction, TaintFunction {
|
||||
class MemcpyFunction extends ArrayFunction, DataFlowFunction, SideEffectFunction {
|
||||
MemcpyFunction() {
|
||||
// memcpy(dest, src, num)
|
||||
this.hasName("memcpy")
|
||||
@@ -59,14 +59,6 @@ class MemcpyFunction extends ArrayFunction, DataFlowFunction, SideEffectFunction
|
||||
output.isReturnValue()
|
||||
}
|
||||
|
||||
override predicate hasTaintFlow(FunctionInput input, FunctionOutput output) {
|
||||
input.isParameter(getParamSize()) and
|
||||
output.isParameterDeref(getParamDest())
|
||||
or
|
||||
input.isParameter(getParamSize()) and
|
||||
output.isReturnValueDeref()
|
||||
}
|
||||
|
||||
override predicate hasArrayWithVariableSize(int bufParam, int countParam) {
|
||||
(
|
||||
bufParam = getParamDest() or
|
||||
|
||||
Reference in New Issue
Block a user