Check the MPEG version ID for the reserved bit pattern 01, and abort the header check in that case. This reduces the chance of misinterpreting arbitrary data as a valid header, and prevents resulting audio artifacts. --- libavcodec/mpegaudiodecheader.h | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/libavcodec/mpegaudiodecheader.h b/libavcodec/mpegaudiodecheader.h index 1cb9216461..ed9961250a 100644 --- a/libavcodec/mpegaudiodecheader.h +++ b/libavcodec/mpegaudiodecheader.h @@ -62,6 +62,9 @@ static inline int ff_mpa_check_header(uint32_t header){ /* header */ if ((header & 0xffe00000) != 0xffe00000) return -1; + /* version check */ + if ((header & (3<<19)) == 1) + return -1; /* layer check */ if ((header & (3<<17)) == 0) return -1; -- 2.14.3 (Apple Git-98) _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel