[FFmpeg-devel] [PATCH] libavcodec/mpegaudiodecheader.h : detect reserved mpeg id

Karsten Otto ottoka at posteo.de
Sun Jul 8 13:26:10 EEST 2018


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)



More information about the ffmpeg-devel mailing list