[SCM] libav/experimental: Check validity of the frame sync code in ff_flac_decode_frame_header(). Patch by Michael Chinen [mchinen at gmail]

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 17:19:52 UTC 2013


The following commit has been merged in the experimental branch:
commit 7f4e432148779b338a6199f50eb70845c78fd060
Author: Michael Chinen <mchinen at gmail.com>
Date:   Tue Dec 7 13:42:52 2010 +0000

    Check validity of the frame sync code in ff_flac_decode_frame_header().
    Patch by Michael Chinen [mchinen at gmail]
    
    Originally committed as revision 25910 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavcodec/flac.c b/libavcodec/flac.c
index f6b65ce..2e3197f 100644
--- a/libavcodec/flac.c
+++ b/libavcodec/flac.c
@@ -38,7 +38,13 @@ int ff_flac_decode_frame_header(AVCodecContext *avctx, GetBitContext *gb,
     int bs_code, sr_code, bps_code;
 
     /* frame sync code */
-    skip_bits(gb, 16);
+    if ((get_bits(gb, 15) & 0x7FFF) != 0x7FFC) {
+        av_log(avctx, AV_LOG_ERROR, "invalid sync code\n");
+        return -1;
+    }
+
+    /* variable block size stream code */
+    skip_bits1(gb);
 
     /* block size and sample rate codes */
     bs_code = get_bits(gb, 4);

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list