diff options
author | Dave Wallace <dwallacelf@gmail.com> | 2019-10-30 17:53:56 +0000 |
---|---|---|
committer | Florin Coras <florin.coras@gmail.com> | 2019-10-30 19:52:00 +0000 |
commit | b1a81aa67942aa1b5a97a4199310c9ffeaab1f5f (patch) | |
tree | f9479ace69f0d123b397c9904b73cf17be3a9d29 | |
parent | e3b70df8243e6655bcefb295cffcada322ac9b57 (diff) |
tls: fifo size is u32
- unformat_memory_size() writes to a uword *
- Limit cli input to u32
Type: fix
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: I453a5633e04f9ee6f2f1a843634f99063a81579b
-rw-r--r-- | src/vnet/tls/tls.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/vnet/tls/tls.c b/src/vnet/tls/tls.c index 7b61453a9f7..166ec1dd54b 100644 --- a/src/vnet/tls/tls.c +++ b/src/vnet/tls/tls.c @@ -892,6 +892,7 @@ static clib_error_t * tls_config_fn (vlib_main_t * vm, unformat_input_t * input) { tls_main_t *tm = &tls_main; + uword tmp; while (unformat_check_input (input) != UNFORMAT_END_OF_INPUT) { if (unformat (input, "use-test-cert-in-ca")) @@ -901,9 +902,15 @@ tls_config_fn (vlib_main_t * vm, unformat_input_t * input) else if (unformat (input, "first-segment-size %U", unformat_memory_size, &tm->first_seg_size)) ; - else if (unformat (input, "fifo-size %U", unformat_memory_size, - &tm->fifo_size)) - ; + else if (unformat (input, "fifo-size %U", unformat_memory_size, &tmp)) + { + if (tmp >= 0x100000000ULL) + { + return clib_error_return + (0, "fifo-size %llu (0x%llx) too large", tmp, tmp); + } + tm->fifo_size = tmp; + } else return clib_error_return (0, "unknown input `%U'", format_unformat_error, input); |