fib: fix accessing empty dpo pool elements 85/28385/1
authorShivaShankarK <shivaashankar1204@gmail.com>
Fri, 10 Apr 2020 12:50:02 +0000 (18:20 +0530)
committerAndrew Yourtchenko <ayourtch@gmail.com>
Thu, 13 Aug 2020 17:20:47 +0000 (17:20 +0000)
Type: fix

Signed-off-by: ShivaShankarK <shivaashankar1204@gmail.com>
Change-Id: Iee88a2101ce42d7f1cdb65df532c349d14829e4c
(cherry picked from commit 35acaac1843839f94e9bd40ad45a8d170a155f22)

src/vnet/dpo/lookup_dpo.c
src/vnet/dpo/replicate_dpo.c

index ec2cd02..daa2352 100644 (file)
@@ -1467,7 +1467,10 @@ lookup_dpo_show (vlib_main_t * vm,
 
     if (INDEX_INVALID != lkdi)
     {
-        vlib_cli_output (vm, "%U", format_lookup_dpo, lkdi);
+       if (pool_is_free_index(lookup_dpo_pool, lkdi))
+               vlib_cli_output (vm, "no such index %d", lkdi);
+       else
+               vlib_cli_output (vm, "%U", format_lookup_dpo, lkdi);
     }
     else
     {
index 998a729..cd753dc 100644 (file)
@@ -687,7 +687,10 @@ replicate_show (vlib_main_t * vm,
 
     if (INDEX_INVALID != repi)
     {
-        vlib_cli_output (vm, "%U", format_replicate, repi,
+           if (pool_is_free_index (replicate_pool, repi))
+               vlib_cli_output (vm, "no such index %d", repi);
+           else
+               vlib_cli_output (vm, "%U", format_replicate, repi,
                          REPLICATE_FORMAT_DETAIL);
     }
     else