From: Arttu Ylä-Outinen <[email protected]>

In the unlikely situation the user decides to set ticks_per_frame
and timebase to a value large enough to overflow.

Signed-off-by: Luca Barbato <[email protected]>
---

The same check would be needed by other encoders, not just libkvazaar.

 libavcodec/utils.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/libavcodec/utils.c b/libavcodec/utils.c
index 29ba85f..e06ee66 100644
--- a/libavcodec/utils.c
+++ b/libavcodec/utils.c
@@ -1049,6 +1049,16 @@ FF_ENABLE_DEPRECATION_WARNINGS

         if (!avctx->rc_initial_buffer_occupancy)
             avctx->rc_initial_buffer_occupancy = avctx->rc_buffer_size * 3 / 4;
+
+        if (avctx->ticks_per_frame &&
+            avctx->ticks_per_frame > INT_MAX / avctx->time_base.num) {
+            av_log(avctx, AV_LOG_ERROR,
+                   "ticks_per_frame %d too large for the timebase %d/%d.",
+                   avctx->ticks_per_frame,
+                   avctx->time_base.num,
+                   avctx->time_base.den);
+            goto free_and_end;
+        }
     }

     if (avctx->codec->init && !(avctx->active_thread_type & FF_THREAD_FRAME)) {
--
2.6.1

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to