Value 1 is signed 32-bit by default and left-shifting that by 31 is undefined. Fix this by marking the value as unsigned. Fixes: ad326ef9f734a ("Add the libxt_time iptables match") Signed-off-by: Phil Sutter <phil@xxxxxx> --- extensions/libxt_time.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extensions/libxt_time.c b/extensions/libxt_time.c index 5a8cc5de13031..d001f5b7f448f 100644 --- a/extensions/libxt_time.c +++ b/extensions/libxt_time.c @@ -330,7 +330,7 @@ static void time_print_monthdays(uint32_t mask, bool human_readable) printf(" "); for (i = 1; i <= 31; ++i) - if (mask & (1 << i)) { + if (mask & (1u << i)) { if (nbdays++ > 0) printf(","); printf("%u", i); -- 2.24.0