diff --git a/cpp/ql/lib/semmle/code/cpp/models/implementations/Iterator.qll b/cpp/ql/lib/semmle/code/cpp/models/implementations/Iterator.qll index 3a93188e9ca6..61ab7a6f991e 100644 --- a/cpp/ql/lib/semmle/code/cpp/models/implementations/Iterator.qll +++ b/cpp/ql/lib/semmle/code/cpp/models/implementations/Iterator.qll @@ -432,6 +432,8 @@ class IteratorPointerDereferenceMemberOperator extends MemberFunction, TaintFunc override predicate hasSpecificReadSideEffect(ParameterIndex i, boolean buffer) { i = -1 and buffer = false } + + override predicate isPartialWrite(FunctionOutput output) { output.isQualifierObject() } } /** @@ -469,6 +471,8 @@ private class IteratorPointerDereferenceNonMemberOperatorModel extends IteratorP override predicate hasSpecificReadSideEffect(ParameterIndex i, boolean buffer) { i = 0 and buffer = false } + + override predicate isPartialWrite(FunctionOutput output) { output.isParameterDeref(0) } } /**