[FFmpeg-cvslog] vorbisdec: Check memory allocations

Vittorio Giovara git at videolan.org
Tue Feb 17 22:46:18 CET 2015


ffmpeg | branch: master | Vittorio Giovara <vittorio.giovara at gmail.com> | Mon Feb  2 01:57:15 2015 +0100| [31dc73e92a96f08d07650c0e7d31c0b9a1465d46] | committer: Vittorio Giovara

vorbisdec: Check memory allocations

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

 libavcodec/vorbisdec.c |   13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/libavcodec/vorbisdec.c b/libavcodec/vorbisdec.c
index dbcc1cd..d52bfd5 100644
--- a/libavcodec/vorbisdec.c
+++ b/libavcodec/vorbisdec.c
@@ -369,10 +369,15 @@ static int vorbis_parse_setup_hdr_codebooks(vorbis_context *vc)
             }
 
 // Weed out unused vlcs and build codevector vector
-            codebook_setup->codevectors = used_entries ? av_mallocz(used_entries *
-                                                                    codebook_setup->dimensions *
-                                                                    sizeof(*codebook_setup->codevectors))
-                                                       : NULL;
+            if (used_entries) {
+                codebook_setup->codevectors =
+                    av_mallocz(used_entries * codebook_setup->dimensions *
+                               sizeof(*codebook_setup->codevectors));
+                if (!codebook_setup->codevectors)
+                    return AVERROR(ENOMEM);
+            } else
+                codebook_setup->codevectors = NULL;
+
             for (j = 0, i = 0; i < entries; ++i) {
                 unsigned dim = codebook_setup->dimensions;
 



More information about the ffmpeg-cvslog mailing list