From dc00940b66814937701a287b89220ddbfd83e9e2 Mon Sep 17 00:00:00 2001 From: Igor Ryzhov Date: Sun, 23 Jan 2022 15:39:04 +0300 Subject: [PATCH] zebra: fix opaque data memleak Opaque data should be freed together with route entry in case of errors. Signed-off-by: Igor Ryzhov --- zebra/zapi_msg.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/zebra/zapi_msg.c b/zebra/zapi_msg.c index 421438a051..37c4b76bb3 100644 --- a/zebra/zapi_msg.c +++ b/zebra/zapi_msg.c @@ -2093,6 +2093,7 @@ static void zread_route_add(ZAPI_HANDLER_ARGS) __func__); nexthop_group_delete(&ng); zebra_nhg_backup_free(&bnhg); + XFREE(MTYPE_OPAQUE, re->opaque); XFREE(MTYPE_RE, re); return; } @@ -2105,6 +2106,7 @@ static void zread_route_add(ZAPI_HANDLER_ARGS) __func__, api.safi); nexthop_group_delete(&ng); zebra_nhg_backup_free(&bnhg); + XFREE(MTYPE_OPAQUE, re->opaque); XFREE(MTYPE_RE, re); return; } @@ -2133,6 +2135,7 @@ static void zread_route_add(ZAPI_HANDLER_ARGS) */ if (ret == -1) { client->error_cnt++; + XFREE(MTYPE_OPAQUE, re->opaque); XFREE(MTYPE_RE, re); }