[FFmpeg-cvslog] init_vlc_sparse: fix leak on error

Michael Niedermayer git at videolan.org
Sun Apr 21 12:05:46 CEST 2013


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Sun Apr 21 11:55:19 2013 +0200| [83330cf5fae65423c24c5a0fb3705675236d88ed] | committer: Michael Niedermayer

init_vlc_sparse: fix leak on error

Fixes CID1005312

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

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

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

diff --git a/libavcodec/bitstream.c b/libavcodec/bitstream.c
index 2dda9bb..7e297b9 100644
--- a/libavcodec/bitstream.c
+++ b/libavcodec/bitstream.c
@@ -307,11 +307,13 @@ int ff_init_vlc_sparse(VLC *vlc, int nb_bits, int nb_codes,
             continue;\
         if (buf[j].bits > 3*nb_bits || buf[j].bits>32) {\
             av_log(NULL, AV_LOG_ERROR, "Too long VLC in init_vlc\n");\
+            av_free(buf);\
             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");\
+            av_free(buf);\
             return -1;\
         }\
         if (flags & INIT_VLC_LE)\



More information about the ffmpeg-cvslog mailing list