ref: 09775194ffdb84b4979f3988e7ef301575b661df
parent: 8a6fbc0b4eb8538e213782bcdc3969a08b44e73b
author: Jerome Jiang <jianj@google.com>
date: Mon Sep 20 09:37:43 EDT 2021
Cap duration to avoid overflow Bug: webm:1728 Change-Id: Id13475660fa921e8ddcc89847e978da4c8d85886
--- a/vp8/encoder/onyx_if.c
+++ b/vp8/encoder/onyx_if.c
@@ -4921,6 +4921,8 @@
this_duration = cpi->source->ts_end - cpi->last_end_time_stamp_seen;
last_duration = cpi->last_end_time_stamp_seen - cpi->last_time_stamp_seen;
+ // Cap this to avoid overflow of (this_duration - last_duration) * 10
+ this_duration = VPXMIN(this_duration, INT64_MAX / 10);
/* do a step update if the duration changes by 10% */
if (last_duration) {
step = (int)(((this_duration - last_duration) * 10 / last_duration));