zebra: Prevent accidental re memory leak in odd case

There exists a path in rib_add_multipath where if a decision
is made to not use the passed in re, we just drop the memory
instead of freeing it.  Let's free it.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
This commit is contained in:
Donald Sharp 2024-06-26 13:21:38 -04:00
parent d528c02a20
commit 9bc0cd8241

View file

@ -4375,8 +4375,10 @@ int rib_add_multipath(afi_t afi, safi_t safi, struct prefix *p,
return -1;
/* We either need nexthop(s) or an existing nexthop id */
if (ng == NULL && re->nhe_id == 0)
if (ng == NULL && re->nhe_id == 0) {
zebra_rib_route_entry_free(re);
return -1;
}
/*
* Use a temporary nhe to convey info to the common/main api.