Skip to content

Commit 4a276c3

Browse files
committed
C++: Remove 'TODO' now that the implementation has been fixed.
1 parent 4345369 commit 4a276c3

1 file changed

Lines changed: 3 additions & 5 deletions

File tree

cpp/ql/lib/semmle/code/cpp/security/InvalidPointerDereference/InvalidPointerToDereference.qll

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,9 @@
2020
* here). So this step is about identifying which of those out-of-bounds pointers identified from step 1 that are
2121
* actually being dereferenced. We do this using a regular dataflow configuration (see `InvalidPointerToDerefConfig`).
2222
*
23-
* This dataflow traversal defines the set of sources as any dataflow node that is non-strictly upper-bounded by the
24-
* pointer-arithmetic instruction identified by `AllocationToInvalidPointer.qll`. (TODO: I'm pretty sure this is incorrect,
25-
* and we should define the set of sources as anything that is non-strictly _lower_ bounded by the pointer-arithmetic
26-
* instruction). That is, the set of sources is any dataflow node `source` such that `source.asInstruction <= pai + delta1`
27-
* for some `delta1 >= 0`.
23+
* This dataflow traversal defines the set of sources as any dataflow node that is non-strictly lower-bounded by the
24+
* pointer-arithmetic instruction identified by `AllocationToInvalidPointer.qll`. That is, the set of sources is any
25+
* dataflow node `source` such that `source.asInstruction() >= pai + delta1` for some `delta1 >= 0`.
2826
*
2927
* The set of sinks is defined to be any address operand `addr` that is non-strictly upper-bounded by the sink. That is,
3028
* any dataflow node `n` such that `addr <= sink.asInstruction() + delta2` for some `delta2`. We call the instruction that

0 commit comments

Comments
 (0)