stats: crash when adding/deleting interfaces 53/29553/2
authorOle Troan <ot@cisco.com>
Tue, 20 Oct 2020 12:36:13 +0000 (14:36 +0200)
committerDave Barach <openvpp@barachs.net>
Tue, 20 Oct 2020 19:41:19 +0000 (19:41 +0000)
create tap
delete tap tap0
create loopback interface
delete loopback interface intfc loop0
create tap <- here I hit a segmentation fault

Type: fix
Fixes: 148c7b768721231325a349fa82db693190513b53
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: If270cc57610e2ded7422e7030d8c1f9fadd4d233

src/vlib/error.c

index 7f69140..7d502d7 100644 (file)
@@ -131,11 +131,12 @@ vlib_register_errors (vlib_main_t * vm,
   if (n->n_errors > 0)
     heap_dealloc (em->counters_heap, n->error_heap_handle);
 
+  n->n_errors = n_errors;
+  n->error_counters = counters;
+
   if (n_errors == 0)
     return;
 
-  n->n_errors = n_errors;
-
   /*  Legacy node */
   if (!counters)
     {
@@ -149,8 +150,6 @@ vlib_register_errors (vlib_main_t * vm,
        }
     }
 
-  n->error_counters = counters;
-
   n->error_heap_index =
     heap_alloc (em->counters_heap, n_errors, n->error_heap_handle);
   l = vec_len (em->counters_heap);