Files
clang-p2996/llvm/lib/Target/PowerPC/PPCMergeStringPool.cpp
Nikita Popov 9f85bc834b [PPCMergeStringPool] Only replace constant once (#92996)
In #88846 I changed this code to use RAUW to perform the replacement
instead of manual updates -- but kept the outer loop, which means we try
to perform RAUW once per user. However, some of the users might be freed
by the RAUW operation, resulting in use-after-free.

The case where this happens is constant users where the replacement
might result in the destruction of the original constant.

Fixes https://github.com/llvm/llvm-project/issues/92991.
2024-05-27 08:54:11 +02:00

12 KiB