Module: libav
Branch: master
Commit: 9f4c7397a296e6d11b3c6c121a6896163577dc7c

Author:    Andreas Cadhalpun <[email protected]>
Committer: Anton Khirnov <[email protected]>
Date:      Fri Jul 10 19:41:43 2015 +0200

hevc: check slice address length

It is used as get_bits argument and reading 0 bits doesn't make sense.

Signed-off-by: Andreas Cadhalpun <[email protected]>
Signed-off-by: Anton Khirnov <[email protected]>

---

 libavcodec/hevc.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavcodec/hevc.c b/libavcodec/hevc.c
index ce4533e..88198fc 100644
--- a/libavcodec/hevc.c
+++ b/libavcodec/hevc.c
@@ -532,7 +532,7 @@ static int hls_slice_header(HEVCContext *s)
 
         slice_address_length = av_ceil_log2(s->sps->ctb_width *
                                             s->sps->ctb_height);
-        sh->slice_segment_addr = get_bits(gb, slice_address_length);
+        sh->slice_segment_addr = slice_address_length ? get_bits(gb, 
slice_address_length) : 0;
         if (sh->slice_segment_addr >= s->sps->ctb_width * s->sps->ctb_height) {
             av_log(s->avctx, AV_LOG_ERROR,
                    "Invalid slice segment address: %u.\n",

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

Reply via email to