]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Our version of unix time can't be negaitve
authorArran Cudbard-Bell <a.cudbardb@freeradius.org>
Wed, 25 Aug 2021 02:50:03 +0000 (21:50 -0500)
committerArran Cudbard-Bell <a.cudbardb@freeradius.org>
Wed, 25 Aug 2021 17:18:51 +0000 (12:18 -0500)
src/lib/util/time.h

index 705b12e5cf1502a8f24a20d738473fa1602995c7..dbb147d2970df4f4d357e6311b48132c87341ef0 100644 (file)
@@ -99,10 +99,10 @@ extern uint64_t                             our_mach_epoch;
 /*
  *     Need cast because of difference in sign
  */
-#define fr_unix_time_from_nsec(_x)     (fr_unix_time_t)(_x)
-#define fr_unix_time_from_usec(_x)     (fr_unix_time_t)fr_time_delta_from_usec((fr_time_delta_t)(_x))
-#define fr_unix_time_from_msec(_x)     (fr_unix_time_t)fr_time_delta_from_msec((fr_time_delta_t)(_x))
-#define fr_unix_time_from_sec(_x)      (fr_unix_time_t)fr_time_delta_from_sec((fr_time_delta_t)(_x))
+#define fr_unix_time_from_nsec(_x)     ((_x) < 0 ? 0 : (fr_unix_time_t)(_x))
+#define fr_unix_time_from_usec(_x)     ((_x) < 0 ? 0 : (fr_unix_time_t)fr_time_delta_from_usec((fr_time_delta_t)(_x)))
+#define fr_unix_time_from_msec(_x)     ((_x) < 0 ? 0 : (fr_unix_time_t)fr_time_delta_from_msec((fr_time_delta_t)(_x)))
+#define fr_unix_time_from_sec(_x)      ((_x) < 0 ? 0 : (fr_unix_time_t)fr_time_delta_from_sec((fr_time_delta_t)(_x)))
 
 #define fr_unix_time_to_nsec(_x)       (uint64_t)(_x)
 #define fr_unix_time_to_usec(_x)       (uint64_t)fr_time_delta_to_usec(_x)