summaryrefslogtreecommitdiff
path: root/libavcodec/ac3_parser.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2018-06-27 16:59:13 +0200
committerMichael Niedermayer <michael@niedermayer.cc>2018-06-28 21:35:01 +0200
commit00e8181bd97c834fe60751b0c511d4bb97875f78 (patch)
treea31b8cc023319280fbfd0b095f7e4dd026dc92da /libavcodec/ac3_parser.c
parented22dc22216f74c75ee7901f82649e1ff725ba50 (diff)
downloadffmpeg-00e8181bd97c834fe60751b0c511d4bb97875f78.tar.gz
avcodec/ac3_parser: Check init_get_bits8() for failure
Fixes: null pointer dereference Fixes: ffmpeg_crash_6.avi Found-by: Thuan Pham, Marcel Böhme, Andrew Santosa and Alexandru Razvan Caciulescu with AFLSmart Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavcodec/ac3_parser.c')
-rw-r--r--libavcodec/ac3_parser.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/libavcodec/ac3_parser.c b/libavcodec/ac3_parser.c
index f4618bf215..1e203ae6ac 100644
--- a/libavcodec/ac3_parser.c
+++ b/libavcodec/ac3_parser.c
@@ -162,7 +162,9 @@ int avpriv_ac3_parse_header(AC3HeaderInfo **phdr, const uint8_t *buf,
return AVERROR(ENOMEM);
hdr = *phdr;
- init_get_bits8(&gb, buf, size);
+ err = init_get_bits8(&gb, buf, size);
+ if (err < 0)
+ return AVERROR_INVALIDDATA;
err = ff_ac3_parse_header(&gb, hdr);
if (err < 0)
return AVERROR_INVALIDDATA;