diff options
author | Orlando Cazalet-Hyams <orlando.hyams@sony.com> | 2024-08-29 14:12:02 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-08-29 14:12:02 +0100 |
commit | 43661a1214353ea1773a711f403f8d1118e9ca0f (patch) | |
tree | 31853700ee4b5e60a8d1755ffcbff74c8a2b1e35 /clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp | |
parent | ba52a09abe3f3a2323dd7df3fe1739630e054077 (diff) | |
download | llvm-43661a1214353ea1773a711f403f8d1118e9ca0f.zip llvm-43661a1214353ea1773a711f403f8d1118e9ca0f.tar.gz llvm-43661a1214353ea1773a711f403f8d1118e9ca0f.tar.bz2 |
[RemoveDIs] Fix spliceDebugInfo splice-to-end edge case (#105671)
Fix #105571 which demonstrates an end() iterator dereference when
performing a non-empty splice to end() from a region that ends at
Src::end().
Rather than calling Instruction::adoptDbgRecords from Dest, create a marker
(which takes an iterator) and absorbDebugValues onto that. The "absorb" variant
doesn't clean up the source marker, which in this case we know is a trailing
marker, so we have to do that manually.
Diffstat (limited to 'clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp')
0 files changed, 0 insertions, 0 deletions