Skip to content

Commit b290c7b

Browse files
committed
C++: Model that string functions read their buffer
1 parent 98d527c commit b290c7b

File tree

1 file changed

+5
-0
lines changed
  • cpp/ql/src/semmle/code/cpp/models/implementations

1 file changed

+5
-0
lines changed

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,11 @@ class PureStrFunction extends AliasFunction, ArrayFunction, TaintFunction, SideE
8383
override predicate hasOnlySpecificReadSideEffects() { none() }
8484

8585
override predicate hasOnlySpecificWriteSideEffects() { any() }
86+
87+
override predicate hasSpecificReadSideEffect(ParameterIndex i, boolean buffer) {
88+
getParameter(i).getUnspecifiedType() instanceof PointerType and
89+
buffer = true
90+
}
8691
}
8792

8893
class PureFunction extends TaintFunction, SideEffectFunction {

0 commit comments

Comments
 (0)