diff options
author | Elijah Newren <newren@gmail.com> | 2020-11-02 18:55:03 (GMT) |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2020-11-02 20:15:50 (GMT) |
commit | b7879b0ba6ee1306a42227f7fd7f4e5f50409184 (patch) | |
tree | 32f328d974b2a59154e062edacda2158935d1fd7 /diffcore-rename.c | |
parent | 97a39a4a930ebec9162f90ebd0412aed47d413d0 (diff) | |
download | git-b7879b0ba6ee1306a42227f7fd7f4e5f50409184.zip git-b7879b0ba6ee1306a42227f7fd7f4e5f50409184.tar.gz git-b7879b0ba6ee1306a42227f7fd7f4e5f50409184.tar.bz2 |
hashmap: allow re-use after hashmap_free()
Previously, once map->table had been freed, any calls to hashmap_put(),
hashmap_get(), or hashmap_remove() would cause a NULL pointer
dereference (since hashmap_free_() also zeros the memory; without that
zeroing, calling these functions would cause a use-after-free problem).
Modify these functions to check for a NULL table and automatically
allocate as needed.
Also add a HASHMAP_INIT(fn, data) macro for initializing hashmaps on the
stack without calling hashmap_init().
Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'diffcore-rename.c')
0 files changed, 0 insertions, 0 deletions