diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2024-05-30 15:35:15 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2024-05-30 15:35:15 +0000 |
commit | f30188c4680a85126e793de157b851bf5ee47529 (patch) | |
tree | 07f803c9796a5ee3c0d0cfc0a8c93729da7274d3 /contrib/libexecinfo/(developers-only) | |
parent | ff7de3b4d32b64acb609af8a4e6e0b640dbd2973 (diff) | |
download | src-main.tar.gz src-main.zip |
[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.
This fixes a possible crash when building crypto/openssh/sshkey.c for
PowerPC targets.
Reported by: cperciva
PR: 276104
MFC after: 3 days
Diffstat (limited to 'contrib/libexecinfo/(developers-only)')
0 files changed, 0 insertions, 0 deletions