[FFmpeg-cvslog] hevc: Reject impossible slice segment

Luca Barbato git at videolan.org
Sun Feb 2 05:46:10 CET 2014


ffmpeg | branch: master | Luca Barbato <lu_zero at gentoo.org> | Sat Jan 11 11:32:07 2014 +0100| [816e5b997028c8215c804b1e58b2388592ed612b] | committer: Luca Barbato

hevc: Reject impossible slice segment

A dependent slice cannot have address 0.
Prevent an out of array bound load in ff_hevc_cabac_init().

Sample-Id: 00001406-google
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable at libav.org

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=816e5b997028c8215c804b1e58b2388592ed612b
---

 libavcodec/hevc.c |    5 +++++
 1 file changed, 5 insertions(+)

diff --git a/libavcodec/hevc.c b/libavcodec/hevc.c
index 859b2ab..bc89b17 100644
--- a/libavcodec/hevc.c
+++ b/libavcodec/hevc.c
@@ -779,6 +779,11 @@ static int hls_slice_header(HEVCContext *s)
 
     sh->slice_ctb_addr_rs = sh->slice_segment_addr;
 
+    if (!s->sh.slice_ctb_addr_rs && s->sh.dependent_slice_segment_flag) {
+        av_log(s->avctx, AV_LOG_ERROR, "Impossible slice segment.\n");
+        return AVERROR_INVALIDDATA;
+    }
+
     s->HEVClc.first_qp_group = !s->sh.dependent_slice_segment_flag;
 
     if (!s->pps->cu_qp_delta_enabled_flag)



More information about the ffmpeg-cvslog mailing list