From 3bf39f2aeff0defcc11454c497b6ea0ffbcd17ca Mon Sep 17 00:00:00 2001
From: Karsten Otto <ottoka@posteo.de>
Date: Sun, 8 Jul 2018 12:26:10 +0200
Subject: [PATCH] libavcodec/mpegaudiodecheader.h : detect reserved mpeg id

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.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
---
 libavcodec/mpegaudiodecheader.h | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/libavcodec/mpegaudiodecheader.h b/libavcodec/mpegaudiodecheader.h
index 1cb9216461a..ed9961250af 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;
-- 
GitLab