vorbisdec: Return AVERROR(ENOMEM) on malloc() failure.
authorAlex Converse <alex.converse@gmail.com>
Tue, 3 Aug 2010 00:27:54 +0000 (00:27 +0000)
committerAlex Converse <alex.converse@gmail.com>
Tue, 3 Aug 2010 00:27:54 +0000 (00:27 +0000)
This is especially important because classifs can be very large.

Originally committed as revision 24676 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/vorbis_dec.c

index b543f5c..19f7e1e 100644 (file)
@@ -667,6 +667,8 @@ static int vorbis_parse_setup_hdr_residues(vorbis_context *vc)
         res_setup->classifs = av_malloc(res_setup->ptns_to_read *
                                         vc->audio_channels *
                                         sizeof(*res_setup->classifs));
+        if (!res_setup->classifs)
+            return AVERROR(ENOMEM);
 
         AV_DEBUG("    begin %d end %d part.size %d classif.s %d classbook %d \n", res_setup->begin, res_setup->end, res_setup->partition_size,
           res_setup->classifications, res_setup->classbook);