diff options
author | Nick Alcock <nick.alcock@oracle.com> | 2024-07-29 12:45:09 +0100 |
---|---|---|
committer | Nick Alcock <nick.alcock@oracle.com> | 2024-08-01 20:39:28 +0100 |
commit | 81900d2bac07b85d76efb3739bd631cdd709d092 (patch) | |
tree | 532474495111ca1cb1cb31a7501f906efb8013cc /move-if-change | |
parent | a648fe307354235f2460e004c164f99e4ad297f6 (diff) | |
download | gdb-binutils-2_39-branch.zip gdb-binutils-2_39-branch.tar.gz gdb-binutils-2_39-branch.tar.bz2 |
libctf: fix ref leak of names of newly-inserted non-root-visible typesbinutils-2_39-branch
A bug in ctf_dtd_delete led to refs in the string table to the
names of non-root-visible types not being removed when the DTD
was. This seems harmless, but actually it would lead to a write
down a pointer into freed memory if such a type was ctf_rollback()ed
over and then the dict was serialized (updating all the refs as the
strtab was serialized in turn).
Bug introduced in commit fe4c2d55634c700ba527ac4183e05c66e9f93c62
("libctf: create: non-root-visible types should not appear in name tables")
which is included in binutils 2.35.
libctf/
* ctf-create.c (ctf_dtd_delete): Remove refs for all types
with names, not just root-visible ones.
Diffstat (limited to 'move-if-change')
0 files changed, 0 insertions, 0 deletions