mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-14 16:04:49 +00:00
zebra: Prevent memory leak if route is rejected early
When receiving a route via zapi, if the route is rejected there exists a code path where we would not free the corresponding re created. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
This commit is contained in:
parent
d04e7788c1
commit
f94a7703c0
@ -2110,6 +2110,13 @@ static void zread_route_add(ZAPI_HANDLER_ARGS)
|
||||
ret = rib_add_multipath_nhe(afi, api.safi, &api.prefix, src_p,
|
||||
re, &nhe);
|
||||
|
||||
/*
|
||||
* rib_add_multipath_nhe only fails in a couple spots
|
||||
* and in those spots we have not freed memory
|
||||
*/
|
||||
if (ret == -1)
|
||||
XFREE(MTYPE_RE, re);
|
||||
|
||||
/* At this point, these allocations are not needed: 're' has been
|
||||
* retained or freed, and if 're' still exists, it is using
|
||||
* a reference to a shared group object.
|
||||
|
Loading…
Reference in New Issue
Block a user