[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