cli: Validate cli_file_index on quit command 02/13302/2
authorSteve Shin <jonshin@cisco.com>
Fri, 29 Jun 2018 16:40:20 +0000 (09:40 -0700)
committerDave Barach <openvpp@barachs.net>
Sat, 30 Jun 2018 13:50:21 +0000 (13:50 +0000)
VPP crash happens with 'vppctl quit quit' command. The 2nd quit command
tries to access the file index which is already freed by the first quit.
This can be avoided to validate cli_file_index.

Change-Id: I880514c93523db2a727d7510c97950582cd6a6c8
Signed-off-by: Steve Shin <jonshin@cisco.com>
src/vlib/unix/cli.c

index 727b954..596f418 100644 (file)
@@ -2489,6 +2489,10 @@ unix_cli_kill (unix_cli_main_t * cm, uword cli_file_index)
   clib_file_t *uf;
   int i;
 
+  /* Validate cli_file_index */
+  if (pool_is_free_index (cm->cli_file_pool, cli_file_index))
+    return;
+
   cf = pool_elt_at_index (cm->cli_file_pool, cli_file_index);
   uf = pool_elt_at_index (fm->file_pool, cf->clib_file_index);