summaryrefslogtreecommitdiffstats
path: root/zebra/zebra_vty.c
diff options
context:
space:
mode:
authorpaco <paco@voltanet.io>2018-06-08 18:49:36 +0200
committerpaco <paco@voltanet.io>2018-06-08 18:51:43 +0200
commit77e03f051194095ea35a5a5559c35917fd9565f6 (patch)
tree54f1e5709f347b023c73ab219ca9e7034392a4d5 /zebra/zebra_vty.c
parentMerge pull request #2298 from qlyoung/pipe-actions-vtysh (diff)
downloadfrr-77e03f051194095ea35a5a5559c35917fd9565f6.tar.xz
frr-77e03f051194095ea35a5a5559c35917fd9565f6.zip
zebra: resource leak fix (Coverity 1465679)
Signed-off-by: F. Aragon <paco@voltanet.io>
Diffstat (limited to '')
-rw-r--r--zebra/zebra_vty.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/zebra/zebra_vty.c b/zebra/zebra_vty.c
index eb11941a3..9ce8c7422 100644
--- a/zebra/zebra_vty.c
+++ b/zebra/zebra_vty.c
@@ -260,18 +260,22 @@ static int zebra_static_route_holdem(
return CMD_SUCCESS;
}
- XFREE(MTYPE_STATIC_ROUTE, shr->nhvrf_name);
- XFREE(MTYPE_STATIC_ROUTE, shr->vrf_name);
- XFREE(MTYPE_STATIC_ROUTE, shr);
/*
* If a person enters the same line again
* we need to silently accept it
*/
- return CMD_SUCCESS;
+ goto shr_cleanup;
}
- if (!negate)
+ if (!negate) {
listnode_add_sort(static_list, shr);
+ return CMD_SUCCESS;
+ }
+
+shr_cleanup:
+ XFREE(MTYPE_STATIC_ROUTE, shr->nhvrf_name);
+ XFREE(MTYPE_STATIC_ROUTE, shr->vrf_name);
+ XFREE(MTYPE_STATIC_ROUTE, shr);
return CMD_SUCCESS;
}