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>
pull/349/head
Karsten Otto 7 years ago committed by Michael Niedermayer
parent eb776a16ea
commit 3bf39f2aef
  1. 3
      libavcodec/mpegaudiodecheader.h

@ -62,6 +62,9 @@ static inline int ff_mpa_check_header(uint32_t header){
/* header */ /* header */
if ((header & 0xffe00000) != 0xffe00000) if ((header & 0xffe00000) != 0xffe00000)
return -1; return -1;
/* version check */
if ((header & (3<<19)) == 1)
return -1;
/* layer check */ /* layer check */
if ((header & (3<<17)) == 0) if ((header & (3<<17)) == 0)
return -1; return -1;

Loading…
Cancel
Save