From e88307cf3cc0af239a7d013f323668d6247b5f3a Mon Sep 17 00:00:00 2001 From: Donatas Abraitis Date: Fri, 22 Jul 2022 17:38:54 +0300 Subject: [PATCH] bgpd: Free memory for as-path filter if regexp is wrong Before: ``` $ vtysh -c 'sh memory bgpd | include Temporary'; echo ; for x in $(seq 1 1000); do vtysh -c 'conf' -c 'bgp as-path access-list belekas permit wrong' >/dev/null; done; vtysh -c 'sh memory bgpd | include Temporary' Temporary memory : 19 variable 504 22 656 Temporary memory : 1019 variable 24504 1023 24656 ``` After: ``` $ vtysh -c 'sh memory bgpd | include Temporary'; echo ; for x in $(seq 1 1000); do vtysh -c 'conf' -c 'bgp as-path access-list belekas permit wrong' >/dev/null; done; vtysh -c 'sh memory bgpd | include Temporary' Temporary memory : 19 variable 504 22 656 Temporary memory : 19 variable 504 24 680 ``` Signed-off-by: Donatas Abraitis --- bgpd/bgp_filter.c | 1 + 1 file changed, 1 insertion(+) diff --git a/bgpd/bgp_filter.c b/bgpd/bgp_filter.c index 9543c97303..8921622953 100644 --- a/bgpd/bgp_filter.c +++ b/bgpd/bgp_filter.c @@ -485,6 +485,7 @@ DEFUN(as_path, bgp_as_path_cmd, if (!config_bgp_aspath_validate(regstr)) { vty_out(vty, "Invalid character in as-path access-list %s\n", regstr); + XFREE(MTYPE_TMP, regstr); return CMD_WARNING_CONFIG_FAILED; }