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

Skip to content

Commit 87b6570

Browse files
author
Robert Marsh
committed
C++: reverse flow for iterator operator qualifiers
1 parent d4cf92e commit 87b6570

1 file changed

Lines changed: 6 additions & 0 deletions

File tree

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

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,9 @@ class IteratorCrementMemberOperator extends MemberFunction, DataFlowFunction, Ta
184184
override predicate hasDataFlow(FunctionInput input, FunctionOutput output) {
185185
input.isQualifierAddress() and
186186
output.isReturnValue()
187+
or
188+
input.isReturnValueDeref() and
189+
output.isQualifierObject()
187190
}
188191

189192
override predicate hasTaintFlow(FunctionInput input, FunctionOutput output) {
@@ -234,6 +237,9 @@ class IteratorAssignArithmeticMemberOperator extends MemberFunction, DataFlowFun
234237
override predicate hasDataFlow(FunctionInput input, FunctionOutput output) {
235238
input.isQualifierAddress() and
236239
output.isReturnValue()
240+
or
241+
input.isReturnValueDeref() and
242+
output.isQualifierObject()
237243
}
238244

239245
override predicate hasTaintFlow(FunctionInput input, FunctionOutput output) {

0 commit comments

Comments
 (0)