aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.cpp
diff options
context:
space:
mode:
authorAlejandro Álvarez Ayllón <alejandro.alvarez@sonarsource.com>2025-10-02 00:59:00 -0700
committerGitHub <noreply@github.com>2025-10-02 09:59:00 +0200
commit5f5a84e8509d4f274bcd63e37225c23d97555094 (patch)
treed0b9edc4fa1320a9d9a884846eced78a5658adf3 /lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.cpp
parent0b0dcf856abd6435d94d3108fa1386eebccce5d6 (diff)
downloadllvm-5f5a84e8509d4f274bcd63e37225c23d97555094.zip
llvm-5f5a84e8509d4f274bcd63e37225c23d97555094.tar.gz
llvm-5f5a84e8509d4f274bcd63e37225c23d97555094.tar.bz2
[clang][analyzer] Clear `ObjCMethodCall`'s cache between runs (#161327)
`lookupRuntimeDefinition` assumed that a process would handle only one TU. This is not true for unit tests, for instance. Multiple snippets of code get parsed, and their AST are unloaded each time. Since the cache relies on pointers as keys, if the same address happens to be reused between runs, the cache would return a stale pointer, potentially causing a segmentation fault. This is not that unlikely if the snippets are similar, which would trigger similar allocation patterns. CPP-4889
Diffstat (limited to 'lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.cpp')
0 files changed, 0 insertions, 0 deletions