diff options
author | Alejandro Álvarez Ayllón <alejandro.alvarez@sonarsource.com> | 2025-10-02 00:59:00 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-10-02 09:59:00 +0200 |
commit | 5f5a84e8509d4f274bcd63e37225c23d97555094 (patch) | |
tree | d0b9edc4fa1320a9d9a884846eced78a5658adf3 /lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemoteLog.cpp | |
parent | 0b0dcf856abd6435d94d3108fa1386eebccce5d6 (diff) | |
download | llvm-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/ProcessGDBRemoteLog.cpp')
0 files changed, 0 insertions, 0 deletions