diff options
| author | Donald Sharp <sharpd@nvidia.com> | 2023-03-21 08:54:21 -0400 |
|---|---|---|
| committer | Donald Sharp <sharpd@nvidia.com> | 2023-03-21 08:54:21 -0400 |
| commit | d8bc11a592110abdd14d11dfcb2ce623653ecab5 (patch) | |
| tree | eee3628586497e48192f65326316f0eb91114011 /pimd/pim_msdp.c | |
| parent | 2e1ea892220dccb8a4c72e438cb3bbd4cac22b2b (diff) | |
*: Add a hash_clean_and_free() function
Add a hash_clean_and_free() function as well as convert
the code to use it. This function also takes a double
pointer to the hash to set it NULL. Also it cleanly
does nothing if the pointer is NULL( as a bunch of
code tested for ).
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Diffstat (limited to 'pimd/pim_msdp.c')
| -rw-r--r-- | pimd/pim_msdp.c | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/pimd/pim_msdp.c b/pimd/pim_msdp.c index dfa5ffeeec..9d29a33a52 100644 --- a/pimd/pim_msdp.c +++ b/pimd/pim_msdp.c @@ -1367,21 +1367,13 @@ void pim_msdp_exit(struct pim_instance *pim) while ((mg = SLIST_FIRST(&pim->msdp.mglist)) != NULL) pim_msdp_mg_free(pim, &mg); - if (pim->msdp.peer_hash) { - hash_clean(pim->msdp.peer_hash, NULL); - hash_free(pim->msdp.peer_hash); - pim->msdp.peer_hash = NULL; - } + hash_clean_and_free(&pim->msdp.peer_hash, NULL); if (pim->msdp.peer_list) { list_delete(&pim->msdp.peer_list); } - if (pim->msdp.sa_hash) { - hash_clean(pim->msdp.sa_hash, NULL); - hash_free(pim->msdp.sa_hash); - pim->msdp.sa_hash = NULL; - } + hash_clean_and_free(&pim->msdp.sa_hash, NULL); if (pim->msdp.sa_list) { list_delete(&pim->msdp.sa_list); |
