cppcheck 2.14 warns that the scope of the rport variable could be reduced: do that, as reverted commit c80fa6a6bb44 ("udp: Make rport calculation more local") did, but keep the temporary variable of in_port_t type, otherwise the sum gets promoted to int. Reported-by: David Gibson <david(a)gibson.dropbear.id.au> Signed-off-by: Stefano Brivio <sbrivio(a)redhat.com> --- udp.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/udp.c b/udp.c index 8181900..a854323 100644 --- a/udp.c +++ b/udp.c @@ -279,10 +279,12 @@ static void udp_invert_portmap(struct udp_fwd_ports *fwd) "Forward and reverse delta arrays must have same size"); for (i = 0; i < ARRAY_SIZE(fwd->f.delta); i++) { in_port_t delta = fwd->f.delta[i]; - in_port_t rport = i + delta; - if (delta) + if (delta) { + in_port_t rport = i + delta; + fwd->rdelta[rport] = NUM_PORTS - delta; + } } } -- 2.43.0