]> granicus.if.org Git - libvpx/commitdiff
vpx_usec_timer_elapsed: use 64-bit math
authorJames Zern <jzern@google.com>
Fri, 10 Feb 2017 03:28:59 +0000 (19:28 -0800)
committerJames Zern <jzern@google.com>
Fri, 10 Feb 2017 03:28:59 +0000 (19:28 -0800)
this prevents a rollover when tv_sec is a long:
signed integer overflow: 2776 * 1000000 cannot be represented in type
'long'

Change-Id: I03dc4476ee122b02e2856dad28358a20cf16a9f8

vpx_ports/vpx_timer.h

index c1f1b602750fd85ece72cc070f186be11760c35b..2083b4ece4484903323ef2634f4f7c1ab2d32018 100644 (file)
@@ -83,7 +83,7 @@ static INLINE int64_t vpx_usec_timer_elapsed(struct vpx_usec_timer *t) {
   struct timeval diff;
 
   timersub(&t->end, &t->begin, &diff);
-  return diff.tv_sec * 1000000 + diff.tv_usec;
+  return (int64_t)diff.tv_sec * 1000000 + diff.tv_usec;
 #endif
 }