[FFmpeg-cvslog] avcodec/wma: Check initializing VLC

Andreas Rheinhardt git at videolan.org
Wed May 12 07:47:45 EEST 2021


ffmpeg | branch: master | Andreas Rheinhardt <andreas.rheinhardt at outlook.com> | Thu May  6 17:08:44 2021 +0200| [cb8f01951b3e594f754d4d240f66cc01d6881e4d] | committer: Andreas Rheinhardt

avcodec/wma: Check initializing VLC

Initializing a VLC entails implicit allocations which may fail.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>

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

 libavcodec/wma.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/libavcodec/wma.c b/libavcodec/wma.c
index ee04ef725f..004ffb5515 100644
--- a/libavcodec/wma.c
+++ b/libavcodec/wma.c
@@ -41,9 +41,11 @@ static av_cold int init_coef_vlc(VLC *vlc, uint16_t **prun_table,
     const uint16_t *levels_table = vlc_table->levels;
     uint16_t *run_table, *int_table;
     float *flevel_table;
-    int i, l, j, k, level;
+    int i, l, j, k, level, ret;
 
-    init_vlc(vlc, VLCBITS, n, table_bits, 1, 1, table_codes, 4, 4, 0);
+    ret = init_vlc(vlc, VLCBITS, n, table_bits, 1, 1, table_codes, 4, 4, 0);
+    if (ret < 0)
+        return ret;
 
     run_table    = av_malloc_array(n, sizeof(uint16_t));
     flevel_table = av_malloc_array(n, sizeof(*flevel_table));



More information about the ffmpeg-cvslog mailing list