From: Gabriel Ganne Date: Wed, 11 Oct 2017 12:35:55 +0000 (+0200) Subject: lb plugin - fix format() type mismatches X-Git-Tag: v18.04-rc0~455 X-Git-Url: https://gerrit.fd.io/r/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F55%2F8755%2F2;p=vpp.git lb plugin - fix format() type mismatches * (vip - lbm->vips) is u64; change format from [%u] to [%lu] * vip->plen is u8, but format looks for u32; add exlicit cast (this cast was done implicitely) On ARM platforms, these prevent a loop in the second call to format_white_space() which would get an invalid (huge) indent value; the result *looked like* an infinite loop. Change-Id: I675ef2f98e4ba3d9e8aef12022d38b1d22981da8 Signed-off-by: Gabriel Ganne --- diff --git a/src/plugins/lb/lb.c b/src/plugins/lb/lb.c index 0bd2ff5d238..fee88056eb4 100644 --- a/src/plugins/lb/lb.c +++ b/src/plugins/lb/lb.c @@ -130,11 +130,12 @@ u8 *format_lb_vip_detailed (u8 * s, va_list * args) lb_vip_t *vip = va_arg (*args, lb_vip_t *); u32 indent = format_get_indent (s); - s = format(s, "%U %U [%u] %U%s\n" + s = format(s, "%U %U [%lu] %U%s\n" "%U new_size:%u\n", format_white_space, indent, format_lb_vip_type, vip->type, - vip - lbm->vips, format_ip46_prefix, &vip->prefix, vip->plen, IP46_TYPE_ANY, + vip - lbm->vips, + format_ip46_prefix, &vip->prefix, (u32) vip->plen, IP46_TYPE_ANY, (vip->flags & LB_VIP_FLAGS_USED)?"":" removed", format_white_space, indent, vip->new_flow_table_mask + 1);