diff options
author | Nick Alcock <nick.alcock@oracle.com> | 2019-06-28 21:58:31 +0100 |
---|---|---|
committer | Nick Alcock <nick.alcock@oracle.com> | 2019-07-01 11:05:59 +0100 |
commit | 3e10cffc9872fda4519f76ba487fd108551a179f (patch) | |
tree | ebf8ae65007b2bedc224e920f6b0af9bc2c13513 | |
parent | c550e7ba937e6a5e04c17275efc362a74f8fd1b1 (diff) | |
download | gdb-3e10cffc9872fda4519f76ba487fd108551a179f.zip gdb-3e10cffc9872fda4519f76ba487fd108551a179f.tar.gz gdb-3e10cffc9872fda4519f76ba487fd108551a179f.tar.bz2 |
libctf: fix hash removal
We must call htab_remove_elt with an element (in this case, a mocked-up
one with only the key populated, since no reasonable hash function will
need the other fields), not with the key alone.
libctf/
* ctf-hash.c (ctf_dynhash_remove): Call with a mocked-up element.
-rw-r--r-- | libctf/ChangeLog | 4 | ||||
-rw-r--r-- | libctf/ctf-hash.c | 3 |
2 files changed, 6 insertions, 1 deletions
diff --git a/libctf/ChangeLog b/libctf/ChangeLog index d91abd2..dd3113b 100644 --- a/libctf/ChangeLog +++ b/libctf/ChangeLog @@ -1,5 +1,9 @@ 2019-06-28 Nick Alcock <nick.alcock@oracle.com> + * ctf-hash.c (ctf_dynhash_remove): Call with a mocked-up element. + +2019-06-28 Nick Alcock <nick.alcock@oracle.com> + * ctf-dump.c (ctf_dump_format_type): Prefix hex strings with 0x. (ctf_dump_funcs): Likewise. diff --git a/libctf/ctf-hash.c b/libctf/ctf-hash.c index adfe93e..03a398e 100644 --- a/libctf/ctf-hash.c +++ b/libctf/ctf-hash.c @@ -176,7 +176,8 @@ ctf_dynhash_insert (ctf_dynhash_t *hp, void *key, void *value) void ctf_dynhash_remove (ctf_dynhash_t *hp, const void *key) { - htab_remove_elt (hp->htab, (void *) key); + ctf_helem_t hep = { (void *) key, NULL, NULL, NULL }; + htab_remove_elt (hp->htab, &hep); } void * |