lavc: Make sure that the effective timebase would not overflow

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 <lu_zero@gentoo.org>
pull/170/merge
Arttu Ylä-Outinen 9 years ago committed by Luca Barbato
parent e59708bb9d
commit 7486418683
  1. 10
      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)) {

Loading…
Cancel
Save