aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h
diff options
context:
space:
mode:
authorAdam Balogh <adam.balogh@ericsson.com>2020-03-18 20:15:20 +0100
committerAdam Balogh <adam.balogh@ericsson.com>2020-03-23 17:33:26 +0100
commitccc0d351817bedf3a979144238ffb8e2797285d4 (patch)
treeda3f7ca8c88305a4fb3b1f8348fe5bce1f25882e /lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h
parentc1f8595fe5b856222418e2de547f0e346d84ac84 (diff)
downloadllvm-ccc0d351817bedf3a979144238ffb8e2797285d4.zip
llvm-ccc0d351817bedf3a979144238ffb8e2797285d4.tar.gz
llvm-ccc0d351817bedf3a979144238ffb8e2797285d4.tar.bz2
[Analyzer] IteratorRangeChecker verify `std::advance()`, `std::prev()` and `std::next()`
Upon calling one of the functions `std::advance()`, `std::prev()` and `std::next()` iterators could get out of their valid range which leads to undefined behavior. If all these funcions are inlined together with the functions they call internally (e.g. `__advance()` called by `std::advance()` in some implementations) the error is detected by `IteratorRangeChecker` but the bug location is inside the STL implementation. Even worse, if the budget runs out and one of the calls is not inlined the bug remains undetected. This patch fixes this behavior: all the bugs are detected at the point of the STL function invocation. Differential Revision: https://reviews.llvm.org/D76379
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/lldb-python.h')
0 files changed, 0 insertions, 0 deletions