Merge pull request #3082 from donaldsharp/memory

pimd: Fix several address sanitizer issues
This commit is contained in:
Rafael Zalamena 2018-09-24 17:45:20 -03:00 committed by GitHub
commit caca1bff12
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 4 deletions

View File

@ -44,10 +44,10 @@ static void pim_instance_terminate(struct pim_instance *pim)
if (pim->static_routes)
list_delete_and_null(&pim->static_routes);
pim_rp_free(pim);
pim_upstream_terminate(pim);
pim_rp_free(pim);
/* Traverse and cleanup rpf_hash */
if (pim->rpf_hash) {
hash_clean(pim->rpf_hash, (void *)pim_rp_list_hash_clean);

View File

@ -1534,12 +1534,13 @@ unsigned int pim_upstream_hash_key(void *arg)
void pim_upstream_terminate(struct pim_instance *pim)
{
struct listnode *node, *nnode;
struct pim_upstream *up;
if (pim->upstream_list) {
for (ALL_LIST_ELEMENTS(pim->upstream_list, node, nnode, up))
while (pim->upstream_list->count) {
up = listnode_head(pim->upstream_list);
pim_upstream_del(pim, up, __PRETTY_FUNCTION__);
}
list_delete_and_null(&pim->upstream_list);
}