avcodec/h264_parser: fix for possible overflow
authorPaul B Mahol <onemda@gmail.com>
Wed, 14 Sep 2016 19:14:07 +0000 (21:14 +0200)
committerPaul B Mahol <onemda@gmail.com>
Wed, 14 Sep 2016 19:14:07 +0000 (21:14 +0200)
Signed-off-by: Paul B Mahol <onemda@gmail.com>
libavcodec/h264_parser.c

index 4dacb22..3ed7d77 100644 (file)
@@ -600,9 +600,9 @@ static int h264_parse(AVCodecParserContext *s,
     }
 
     if (s->dts_sync_point >= 0) {
-        int64_t den = avctx->time_base.den * avctx->pkt_timebase.num;
+        int64_t den = avctx->time_base.den * (int64_t)avctx->pkt_timebase.num;
         if (den > 0) {
-            int64_t num = avctx->time_base.num * avctx->pkt_timebase.den;
+            int64_t num = avctx->time_base.num * (int64_t)avctx->pkt_timebase.den;
             if (s->dts != AV_NOPTS_VALUE) {
                 // got DTS from the stream, update reference timestamp
                 p->reference_dts = s->dts - av_rescale(s->dts_ref_dts_delta, num, den);