vlib: fix vlib_buffer_main_init_numa_node memory leak. 67/21367/3
authorGuanghua Zhang <ghzhang@fiberhome.com>
Sun, 18 Aug 2019 00:35:04 +0000 (08:35 +0800)
committerDamjan Marion <dmarion@me.com>
Mon, 19 Aug 2019 13:41:23 +0000 (13:41 +0000)
Type: fix

Signed-off-by: Guanghua Zhang <ghzhang@fiberhome.com>
Change-Id: I8252ed2555f5af6db2f12dc7c30e41cc1ec7dde0

src/vlib/buffer.c

index a49200d..c4c05bb 100644 (file)
@@ -693,7 +693,7 @@ retry:
     }
 
   if (error)
-    return error;
+    goto done;
 
   vec_reset_length (name);
   name = format (name, "default-numa-%d%c", numa_node, 0);
@@ -703,9 +703,14 @@ retry:
                                    physmem_map_index);
 
   if (*index == (u8) ~ 0)
-    return clib_error_return (0, "maximum number of buffer pools reached");
+    {
+      error = clib_error_return (0, "maximum number of buffer pools reached");
+      goto done;
+    }
 
-  return 0;
+done:
+  vec_free (name);
+  return error;
 }
 
 void