[FFmpeg-cvslog] avcodec/bitstream: check codes in ff_init_vlc_sparse()

Michael Niedermayer git at videolan.org
Thu Jan 16 02:46:57 CET 2014


ffmpeg | branch: release/1.2 | Michael Niedermayer <michaelni at gmx.at> | Thu Apr 18 02:52:41 2013 +0200| [bb6f4667946c7e4b5e99971a60040c9adedee84b] | committer: Michael Niedermayer

avcodec/bitstream: check codes in ff_init_vlc_sparse()

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
(cherry picked from commit 6998af4a40e67b5f0bfb769b7749f38a92eb2819)

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

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

 libavcodec/bitstream.c |    4 ++++
 1 file changed, 4 insertions(+)

diff --git a/libavcodec/bitstream.c b/libavcodec/bitstream.c
index 6598d3e..2dda9bb 100644
--- a/libavcodec/bitstream.c
+++ b/libavcodec/bitstream.c
@@ -310,6 +310,10 @@ int ff_init_vlc_sparse(VLC *vlc, int nb_bits, int nb_codes,
             return -1;\
         }\
         GET_DATA(buf[j].code, codes, i, codes_wrap, codes_size);\
+        if (buf[j].code >= (1LL<<buf[j].bits)) {\
+            av_log(NULL, AV_LOG_ERROR, "Invalid code in init_vlc\n");\
+            return -1;\
+        }\
         if (flags & INIT_VLC_LE)\
             buf[j].code = bitswap_32(buf[j].code);\
         else\



More information about the ffmpeg-cvslog mailing list