tcp: rx fifo size is u32 07/23107/2
authorDave Wallace <dwallacelf@gmail.com>
Wed, 30 Oct 2019 17:25:24 +0000 (17:25 +0000)
committerFlorin Coras <florin.coras@gmail.com>
Wed, 30 Oct 2019 19:49:16 +0000 (19:49 +0000)
- Limit cli input for rx fifo size to u32

Type: fix

Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: If5a8e0668acf5b0f369acf4f120e47a012bd1899

src/vnet/tcp/tcp.c

index 86e5d94..1d030c9 100644 (file)
@@ -1758,10 +1758,26 @@ tcp_config_fn (vlib_main_t * vm, unformat_input_t * input)
        ;
       else if (unformat (input, "max-rx-fifo %U", unformat_memory_size,
                         &memory_size))
-       tcp_cfg.max_rx_fifo = memory_size;
+       {
+         if (memory_size >= 0x100000000)
+           {
+             return clib_error_return
+               (0, "max-rx-fifo %llu (0x%llx) too large", memory_size,
+                memory_size);
+           }
+         tcp_cfg.max_rx_fifo = memory_size;
+       }
       else if (unformat (input, "min-rx-fifo %U", unformat_memory_size,
                         &memory_size))
-       tcp_cfg.min_rx_fifo = memory_size;
+       {
+         if (memory_size >= 0x100000000)
+           {
+             return clib_error_return
+               (0, "min-rx-fifo %llu (0x%llx) too large", memory_size,
+                memory_size);
+           }
+         tcp_cfg.min_rx_fifo = memory_size;
+       }
       else if (unformat (input, "mtu %u", &tcp_cfg.default_mtu))
        ;
       else if (unformat (input, "rwnd-min-update-ack %d",