timeval: Avoid unnecessary integer overflow in time_alarm().
authorBen Pfaff <blp@nicira.com>
Thu, 24 Jan 2013 21:50:39 +0000 (13:50 -0800)
committerBen Pfaff <blp@nicira.com>
Fri, 1 Feb 2013 22:27:20 +0000 (14:27 -0800)
Durations longer than 4294967 seconds would unnecessarily overflow in the
multiplication here.

Found by Coverity.

Signed-off-by: Ben Pfaff <blp@nicira.com>
Acked-by: Ethan Jackson <ethan@nicira.com>
lib/timeval.c

index d91305c..ef9c8fe 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2009, 2010, 2011, 2012 Nicira, Inc.
+ * Copyright (c) 2008, 2009, 2010, 2011, 2012, 2013 Nicira, Inc.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -328,7 +328,7 @@ time_alarm(unsigned int secs)
     time_refresh();
 
     now = time_msec();
-    msecs = secs * 1000;
+    msecs = secs * 1000LL;
 
     block_sigalrm(&oldsigs);
     deadline = now < LLONG_MAX - msecs ? now + msecs : LLONG_MAX;