From 8f46f1520cdb3e3e131b2021ac40325f6bdda2c8 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Thu, 18 Nov 2010 21:29:03 +0100 Subject: timer: fix integer overflow in timer_delay() Fixes a regression: for output_plugin.delay(), we added a method to the timer class which returns the delay in milliseconds. This fails to detect negative values, because the unsigned integer is divided by 1000, and then casted to signed. --- src/timer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/timer.c') diff --git a/src/timer.c b/src/timer.c index e125b100..0b3b1198 100644 --- a/src/timer.c +++ b/src/timer.c @@ -74,7 +74,7 @@ void timer_add(Timer *timer, int size) unsigned timer_delay(const Timer *timer) { - int64_t delay = (timer->time - now()) / 1000; + int64_t delay = (int64_t)(timer->time - now()) / 1000; if (delay < 0) return 0; -- cgit v1.2.3