aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Object/WasmObjectFile.cpp
diff options
context:
space:
mode:
authorAdam Balogh <adam.balogh@ericsson.com>2020-07-07 12:03:07 +0200
committerAdam Balogh <adam.balogh@ericsson.com>2020-07-16 20:49:33 +0200
commita59d4ae4313c0a961c50d14c0616b49220c5a469 (patch)
tree58fcf91d2f1f2e340273b69c6b715d562ba89b2a /llvm/lib/Object/WasmObjectFile.cpp
parentbd88991a011be895ba73fe07015df25e1e55992e (diff)
downloadllvm-a59d4ae4313c0a961c50d14c0616b49220c5a469.zip
llvm-a59d4ae4313c0a961c50d14c0616b49220c5a469.tar.gz
llvm-a59d4ae4313c0a961c50d14c0616b49220c5a469.tar.bz2
[Analyzer] Hotfix for various crashes in iterator checkers
The patch that introduces handling iterators implemented as pointers may cause crash in some projects because pointer difference is mistakenly handled as pointer decrement. (Similair case for iterators implemented as class instances are already handled correctly.) This patch fixes this issue. The second case that causes crash is comparison of an iterator implemented as pointer and a null-pointer. This patch contains a fix for this issue as well. The third case which causes crash is that the checker mistakenly considers all integers as nonloc::ConcreteInt when handling an increment or decrement of an iterator implemented as pointers. This patch adds a fix for this too. The last case where crashes were detected is when checking for success of an std::advance() operation. Since the modeling of iterators implemented as pointers is still incomplete this may result in an assertion. This patch replaces the assertion with an early exit and adds a FIXME there. Differential Revision: https://reviews.llvm.org/D83295
Diffstat (limited to 'llvm/lib/Object/WasmObjectFile.cpp')
0 files changed, 0 insertions, 0 deletions