Fixes valgrind errors reported for FATE sample
fate-h264-conformance-frext-pph10i4_panasonic_a.
---
 libavcodec/h264_cavlc.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/libavcodec/h264_cavlc.c b/libavcodec/h264_cavlc.c
index 2e5ea54..30b5411 100644
--- a/libavcodec/h264_cavlc.c
+++ b/libavcodec/h264_cavlc.c
@@ -400,6 +400,12 @@ static int decode_residual(H264Context *h, GetBitContext 
*gb, DCTELEM *block, in
     tprintf(h->s.avctx, "trailing:%d, total:%d\n", trailing_ones, total_coeff);
     assert(total_coeff<=16);
 
+    if (get_bits_left(gb) < trailing_ones) {
+        av_log(h->s.avctx, AV_LOG_ERROR,
+               "corrupt MB %d %d (not enough data)\n", s->mb_x, s->mb_y);
+        return -1;
+    }
+
     i = show_bits(gb, 3);
     skip_bits(gb, trailing_ones);
     level[0] = 1-((i&4)>>1);
-- 
1.7.4.4

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

Reply via email to