From c71b56dd5c3127af14eaf22b64d4ef68843dbbb3 Mon Sep 17 00:00:00 2001 From: Nathan Skrzypczak Date: Thu, 1 Oct 2020 16:50:14 +0200 Subject: ip: Fix unformat_ip_prefix Type: fix Change-Id: I73629ccf7d5a49da3858899dc727cc180fb53003 Signed-off-by: Nathan Skrzypczak --- src/vat/ip_types.c | 5 ++++- src/vnet/ip/ip_types.c | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/vat/ip_types.c b/src/vat/ip_types.c index 5041c129245..8edcb133f33 100644 --- a/src/vat/ip_types.c +++ b/src/vat/ip_types.c @@ -64,9 +64,12 @@ uword unformat_ip_prefix (unformat_input_t * input, va_list * args) { ip_prefix_t *a = va_arg (*args, ip_prefix_t *); + /* %d writes more than a u8 */ + int plen; if (unformat (input, "%U/%d", unformat_ip_address, &ip_prefix_addr (a), - &ip_prefix_len (a))) + &plen)) { + ip_prefix_len (a) = plen; if ((ip_prefix_version (a) == AF_IP4 && 32 < ip_prefix_len (a)) || (ip_prefix_version (a) == AF_IP6 && 128 < ip_prefix_len (a))) { diff --git a/src/vnet/ip/ip_types.c b/src/vnet/ip/ip_types.c index 3d489e4e00d..6e4bb3ba6e4 100644 --- a/src/vnet/ip/ip_types.c +++ b/src/vnet/ip/ip_types.c @@ -64,9 +64,12 @@ uword unformat_ip_prefix (unformat_input_t * input, va_list * args) { ip_prefix_t *a = va_arg (*args, ip_prefix_t *); + /* %d writes more than a u8 */ + int plen; if (unformat (input, "%U/%d", unformat_ip_address, &ip_prefix_addr (a), - &ip_prefix_len (a))) + &plen)) { + ip_prefix_len (a) = plen; if ((ip_prefix_version (a) == AF_IP4 && 32 < ip_prefix_len (a)) || (ip_prefix_version (a) == AF_IP6 && 128 < ip_prefix_len (a))) { -- cgit 1.2.3-korg