From 77a644e6fa4aaeb2c26cfaa0e8ec3b19829b8d88 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Fri, 4 Dec 2015 00:31:44 +0100 Subject: [PATCH] avcodec/h264_direct: Check CO-POCs before use Fixes harmless integer overflow Fixes mozilla bug 1230286 Found-by: Tyson Smith Signed-off-by: Michael Niedermayer --- libavcodec/h264_direct.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libavcodec/h264_direct.c b/libavcodec/h264_direct.c index 5756a7ba66..5f66a67d89 100644 --- a/libavcodec/h264_direct.c +++ b/libavcodec/h264_direct.c @@ -137,6 +137,10 @@ void ff_h264_direct_ref_list_init(const H264Context *const h, H264SliceContext * if (h->picture_structure == PICT_FRAME) { int cur_poc = h->cur_pic_ptr->poc; int *col_poc = sl->ref_list[1][0].parent->field_poc; + if (col_poc[0] == INT_MAX && col_poc[1] == INT_MAX) { + av_log(h->avctx, AV_LOG_ERROR, "co located POCs unavailable\n"); + sl->col_parity = 1; + } else sl->col_parity = (FFABS(col_poc[0] - cur_poc) >= FFABS(col_poc[1] - cur_poc)); ref1sidx =