uloop: avoid integer overflow in tv_diff
authorStijn Tintel <stijn@linux-ipv6.be>
Wed, 3 Nov 2021 23:17:39 +0000 (01:17 +0200)
committerStijn Tintel <stijn@linux-ipv6.be>
Wed, 3 Nov 2021 23:45:46 +0000 (01:45 +0200)
commitbe3dc7223a6d75587e26f8b8d6d56920841e44b6
tree4db949da1219c99c7375519257945db3b51907f1
parentd716ac4bc4236031d4c3cc1ed362b502e20e3787
uloop: avoid integer overflow in tv_diff

The tv_diff function can potentially overflow as soon as t2->tv_sec is
larger than 2147483. This is very easily hit in ujail, after only
2147484 seconds of uptime, or 24.85 days.

Improve the behaviour by changing the return type to int64_t.

Fixes: FS#3943
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
uloop.c
uloop.h