From ab05bee1dd9e59a34c2f4866a1285dc29c010904 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Tue, 2 Mar 2021 21:33:35 +0100 Subject: [PATCH] time-util: simplify overflow check And don't rely on 2s complement. --- src/basic/time-util.h | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/basic/time-util.h b/src/basic/time-util.h index da6f3cd382..d716074fbe 100644 --- a/src/basic/time-util.h +++ b/src/basic/time-util.h @@ -155,16 +155,14 @@ usec_t jiffies_to_usec(uint32_t jiffies); bool in_utc_timezone(void); static inline usec_t usec_add(usec_t a, usec_t b) { - usec_t c; /* Adds two time values, and makes sure USEC_INFINITY as input results as USEC_INFINITY in output, and doesn't * overflow. */ - c = a + b; - if (c < a || c < b) /* overflow check */ + if (a > USEC_INFINITY - b) /* overflow check */ return USEC_INFINITY; - return c; + return a + b; } static inline usec_t usec_sub_unsigned(usec_t timestamp, usec_t delta) {