From 76dc22cec340b1c32e82a9ef9b6baff8006a6517 Mon Sep 17 00:00:00 2001 From: Swarup Nayak Date: Tue, 5 Dec 2017 09:46:17 +0530 Subject: call unformat_free in some flow, remove unnecessary calls Change-Id: I565277eafbce3d4f59a7f0d497fca1c4fed3cfc8 Signed-off-by: Swarup Nayak --- src/plugins/nat/nat.c | 8 -------- src/vnet/devices/tap/cli.c | 8 +++++--- src/vnet/ip/lookup.c | 16 ++++++++++++---- 3 files changed, 17 insertions(+), 15 deletions(-) diff --git a/src/plugins/nat/nat.c b/src/plugins/nat/nat.c index 896fe5fd59e..3c891f274b5 100644 --- a/src/plugins/nat/nat.c +++ b/src/plugins/nat/nat.c @@ -3461,8 +3461,6 @@ snat_det_map_command_fn (vlib_main_t * vm, } } - unformat_free (line_input); - rv = snat_det_add_map(sm, &in_addr, (u8) in_plen, &out_addr, (u8)out_plen, is_add); @@ -3523,8 +3521,6 @@ snat_det_forward_command_fn (vlib_main_t * vm, } } - unformat_free (line_input); - dm = snat_det_map_by_user(sm, &in_addr); if (!dm) vlib_cli_output (vm, "no match"); @@ -3584,8 +3580,6 @@ snat_det_reverse_command_fn (vlib_main_t * vm, } } - unformat_free (line_input); - if (out_port < 1024 || out_port > 65535) { error = clib_error_return (0, "wrong port, must be <1024-65535>"); @@ -3662,8 +3656,6 @@ set_timeout_command_fn (vlib_main_t * vm, } } - unformat_free (line_input); - done: unformat_free (line_input); diff --git a/src/vnet/devices/tap/cli.c b/src/vnet/devices/tap/cli.c index c86995ce5cc..7dd525b169d 100644 --- a/src/vnet/devices/tap/cli.c +++ b/src/vnet/devices/tap/cli.c @@ -43,7 +43,6 @@ tap_create_command_fn (vlib_main_t * vm, unformat_input_t * input, /* Get a line of input. */ if (unformat_user (input, unformat_line_input, line_input)) { - while (unformat_check_input (line_input) != UNFORMAT_END_OF_INPUT) { if (unformat (line_input, "id %u", &args.id)) @@ -74,8 +73,11 @@ tap_create_command_fn (vlib_main_t * vm, unformat_input_t * input, unformat_ethernet_address, args.mac_addr)) args.mac_addr_set = 1; else - return clib_error_return (0, "unknown input `%U'", - format_unformat_error, input); + { + unformat_free (line_input); + return clib_error_return (0, "unknown input `%U'", + format_unformat_error, input); + } } unformat_free (line_input); } diff --git a/src/vnet/ip/lookup.c b/src/vnet/ip/lookup.c index 95039bdf116..67e46bd8cfa 100644 --- a/src/vnet/ip/lookup.c +++ b/src/vnet/ip/lookup.c @@ -1398,12 +1398,16 @@ ip_container_cmd (vlib_main_t * vm, else if (unformat (line_input, "del")) is_del = 1; else - return (clib_error_return (0, "unknown input '%U'", - format_unformat_error, line_input)); + { + unformat_free (line_input); + return (clib_error_return (0, "unknown input '%U'", + format_unformat_error, line_input)); + } } if (~0 == sw_if_index || !addr_set) { + unformat_free (line_input); vlib_cli_output (vm, "interface and address must be set"); return 0; } @@ -1456,12 +1460,16 @@ show_ip_container_cmd_fn (vlib_main_t * vm, unformat_input_t * main_input, unformat_vnet_sw_interface, vnm, &sw_if_index)) ; else - return (clib_error_return (0, "unknown input '%U'", - format_unformat_error, line_input)); + { + unformat_free (line_input); + return (clib_error_return (0, "unknown input '%U'", + format_unformat_error, line_input)); + } } if (~0 == sw_if_index) { + unformat_free (line_input); vlib_cli_output (vm, "no interface"); return (clib_error_return (0, "no interface")); } -- cgit 1.2.3-korg