From: Neale Ranns Date: Mon, 6 Jan 2020 21:09:12 +0000 (+0000) Subject: vppinfra: hash [un]set malloc/free takes a const key X-Git-Tag: v20.05-rc0~44 X-Git-Url: https://gerrit.fd.io/r/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F02%2F24202%2F3;p=vpp.git vppinfra: hash [un]set malloc/free takes a const key Type: refactor the key is not modified by these functions Change-Id: I578f054355fca69e8a086bb69013155a01ed759f Signed-off-by: Neale Ranns --- diff --git a/src/vppinfra/hash.h b/src/vppinfra/hash.h index 59dbf8cde76..e4a65d21e65 100644 --- a/src/vppinfra/hash.h +++ b/src/vppinfra/hash.h @@ -276,7 +276,7 @@ uword hash_bytes (void *v); /* Public inline function allocate and copy key to use in hash for pointer key */ always_inline void -hash_set_mem_alloc (uword ** h, void *key, uword v) +hash_set_mem_alloc (uword ** h, const void *key, uword v) { size_t ksz = hash_header (*h)->user; void *copy = clib_mem_alloc (ksz); @@ -292,14 +292,14 @@ hash_set_mem_alloc (uword ** h, void *key, uword v) /* Public inline function to unset pointer key and then free the key memory */ always_inline void -hash_unset_mem_free (uword ** h, void *key) +hash_unset_mem_free (uword ** h, const void *key) { hash_pair_t *hp = hash_get_pair_mem (*h, key); if (PREDICT_TRUE (hp != NULL)) { - key = uword_to_pointer (hp->key, void *); - hash_unset_mem (*h, key); - clib_mem_free (key); + void *_k = uword_to_pointer (hp->key, void *); + hash_unset_mem (*h, _k); + clib_mem_free (_k); } }