mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-21 01:12:32 +08:00
libctf: fix dynset insertion
libctf's dynsets are a straight wrapper around libiberty hashtab, storing the key directly in the hashtab slot. However, we'd often like to be able to store 0 and 1 (HTAB_EMPTY_ENTRY and HTAB_DELETED_ENTRY) in there, so we move them out of the way and replace them with huge unlikely values instead. Unfortunately we failed to do this replacement in one place, so insertion of 0 or 1 ended up misinforming the hashtab machinery that an entry was empty or deleted when it wasn't. libctf/ * ctf-hash.c (ctf_dynset_insert): Call key_to_internal properly.
This commit is contained in:
parent
6b783c3342
commit
67588c4dd6
@ -626,7 +626,7 @@ ctf_dynset_insert (ctf_dynset_t *hp, void *key)
|
||||
struct htab *htab = (struct htab *) hp;
|
||||
void **slot;
|
||||
|
||||
slot = htab_find_slot (htab, key, INSERT);
|
||||
slot = htab_find_slot (htab, key_to_internal (key), INSERT);
|
||||
|
||||
if (!slot)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user