[FFmpeg-cvslog] r21723 - in branches/0.5: . libavcodec/vorbis_dec.c

siretart subversion
Tue Feb 9 20:45:16 CET 2010


Author: siretart
Date: Tue Feb  9 20:45:16 2010
New Revision: 21723

Log:
Sanity checks for magnitude and angle.
26_vorbis_mag_angle_index.patch by chrome

backport r19983 by michael

Modified:
   branches/0.5/   (props changed)
   branches/0.5/libavcodec/vorbis_dec.c

Modified: branches/0.5/libavcodec/vorbis_dec.c
==============================================================================
--- branches/0.5/libavcodec/vorbis_dec.c	Tue Feb  9 20:44:06 2010	(r21722)
+++ branches/0.5/libavcodec/vorbis_dec.c	Tue Feb  9 20:45:16 2010	(r21723)
@@ -702,7 +702,14 @@ static int vorbis_parse_setup_hdr_mappin
             for(j=0;j<mapping_setup->coupling_steps;++j) {
                 mapping_setup->magnitude[j]=get_bits(gb, ilog(vc->audio_channels-1));
                 mapping_setup->angle[j]=get_bits(gb, ilog(vc->audio_channels-1));
-                // FIXME: sanity checks
+                if (mapping_setup->magnitude[j]>=vc->audio_channels) {
+                    av_log(vc->avccontext, AV_LOG_ERROR, "magnitude channel %d out of range. \n", mapping_setup->magnitude[j]);
+                    return 1;
+                }
+                if (mapping_setup->angle[j]>=vc->audio_channels) {
+                    av_log(vc->avccontext, AV_LOG_ERROR, "angle channel %d out of range. \n", mapping_setup->angle[j]);
+                    return 1;
+                }
             }
         } else {
             mapping_setup->coupling_steps=0;



More information about the ffmpeg-cvslog mailing list