]> git.proxmox.com Git - mirror_frr.git/commitdiff
zebra: Fix memory leak
authorDonald Sharp <sharpd@cumulusnetworks.com>
Sat, 10 Jun 2017 20:39:41 +0000 (16:39 -0400)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Sat, 10 Jun 2017 20:39:41 +0000 (16:39 -0400)
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
zebra/zebra_vty.c

index 3eb6e85a4c8d6a3d0d68aa5bf3c440521a892195..8b5af69bffefa1b0d107ea5f1099cc7eaeb76de8 100644 (file)
@@ -3098,6 +3098,8 @@ DEFUN (ip_zebra_import_table_distance,
   int distance = ZEBRA_TABLE_DISTANCE_DEFAULT;
   char *rmap = strmatch (argv[argc - 2]->text, "route-map") ?
                XSTRDUP(MTYPE_ROUTE_MAP_NAME, argv[argc - 1]->arg) : NULL;
+  int ret;
+
   if (argc == 7 || (argc == 5 && !rmap))
     VTY_GET_INTEGER_RANGE("distance", distance, argv[4]->arg, 1, 255);
 
@@ -3115,7 +3117,11 @@ DEFUN (ip_zebra_import_table_distance,
       return CMD_WARNING;
     }
 
-  return (zebra_import_table(AFI_IP, table_id, distance, rmap, 1));
+  ret = zebra_import_table(AFI_IP, table_id, distance, rmap, 1);
+  if (rmap)
+    XFREE(MTYPE_ROUTE_MAP_NAME, rmap);
+
+  return ret;
 }
 
 DEFUN (no_ip_zebra_import_table,