Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 2a6c624

Browse files
author
Robert Marsh
committed
C++: fix up some iterator taint flows
1 parent c0edc08 commit 2a6c624

1 file changed

Lines changed: 3 additions & 12 deletions

File tree

  • cpp/ql/src/semmle/code/cpp/models/implementations

cpp/ql/src/semmle/code/cpp/models/implementations/Iterator.qll

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,7 @@ class IteratorFieldMemberOperator extends Operator, TaintFunction {
196196
}
197197

198198
override predicate hasTaintFlow(FunctionInput input, FunctionOutput output) {
199-
input.isQualifierAddress() and
199+
input.isQualifierObject() and
200200
output.isReturnValue()
201201
}
202202
}
@@ -211,10 +211,7 @@ class IteratorBinaryArithmeticMemberOperator extends MemberFunction, TaintFuncti
211211
}
212212

213213
override predicate hasTaintFlow(FunctionInput input, FunctionOutput output) {
214-
(
215-
input.isQualifierObject() or
216-
input.isParameter(0)
217-
) and
214+
input.isQualifierObject() and
218215
output.isReturnValue()
219216
}
220217
}
@@ -234,9 +231,6 @@ class IteratorAssignArithmeticMemberOperator extends MemberFunction, DataFlowFun
234231
}
235232

236233
override predicate hasTaintFlow(FunctionInput input, FunctionOutput output) {
237-
input.isParameter(0) and
238-
output.isQualifierObject()
239-
or
240234
input.isQualifierObject() and
241235
output.isReturnValueDeref()
242236
}
@@ -252,10 +246,7 @@ class IteratorArrayMemberOperator extends MemberFunction, TaintFunction {
252246
}
253247

254248
override predicate hasTaintFlow(FunctionInput input, FunctionOutput output) {
255-
(
256-
input.isQualifierObject() or
257-
input.isParameter(0)
258-
) and
249+
input.isQualifierObject() and
259250
output.isReturnValue()
260251
}
261252
}

0 commit comments

Comments
 (0)