diff options
author | Chris Cunningham <chcunningham@chromium.org> | 2016-11-22 13:54:50 -0800 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2017-01-26 00:34:12 +0100 |
commit | 533431d5af927012812c9c52b710cd796f7c022c (patch) | |
tree | 320ceb385f0cebb31607a33d4e8dbe996a05221e | |
parent | 9519b2560e1839644a74162ee52f2116532d964a (diff) | |
download | ffmpeg-533431d5af927012812c9c52b710cd796f7c022c.tar.gz |
avformat/mp3dec: fix msan warning when verifying mpa header
MPEG Audio frame header must be 4 bytes. If we fail to read
4 bytes bail early to avoid Use-of-uninitialized-value msan error.
Reference https://crbug.com/666874.
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit ab87df9a47cd31bfcae9acd84c04705a149dfc14)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-rw-r--r-- | libavformat/mp3dec.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/libavformat/mp3dec.c b/libavformat/mp3dec.c index 56c7f8caee..099ca57d24 100644 --- a/libavformat/mp3dec.c +++ b/libavformat/mp3dec.c @@ -457,7 +457,8 @@ static int check(AVIOContext *pb, int64_t pos, uint32_t *ret_header) return CHECK_SEEK_FAILED; ret = avio_read(pb, &header_buf[0], 4); - if (ret < 0) + /* We should always find four bytes for a valid mpa header. */ + if (ret < 4) return CHECK_SEEK_FAILED; header = AV_RB32(&header_buf[0]); |