diff options
author | James Almer <jamrial@gmail.com> | 2016-11-25 10:40:59 -0300 |
---|---|---|
committer | James Almer <jamrial@gmail.com> | 2016-11-25 10:40:59 -0300 |
commit | 50b14539158bd6d179afebb795b38be108359c4a (patch) | |
tree | 607ebc926a20b63acd612c1ba7721027b577c0ce /libavcodec/mpeg4audio.c | |
parent | e0791c5aaf1c12601322e410119ca46c6d09981d (diff) | |
download | ffmpeg-50b14539158bd6d179afebb795b38be108359c4a.tar.gz |
avcodec/mpeg4audio: correctly propagate meaningful error values
Signed-off-by: James Almer <jamrial@gmail.com>
Diffstat (limited to 'libavcodec/mpeg4audio.c')
-rw-r--r-- | libavcodec/mpeg4audio.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/libavcodec/mpeg4audio.c b/libavcodec/mpeg4audio.c index 01c374fddc..5f85b64cb8 100644 --- a/libavcodec/mpeg4audio.c +++ b/libavcodec/mpeg4audio.c @@ -33,10 +33,10 @@ static int parse_config_ALS(GetBitContext *gb, MPEG4AudioConfig *c) { if (get_bits_left(gb) < 112) - return -1; + return AVERROR_INVALIDDATA; if (get_bits_long(gb, 32) != MKBETAG('A','L','S','\0')) - return -1; + return AVERROR_INVALIDDATA; // override AudioSpecificConfig channel configuration and sample rate // which are buggy in old ALS conformance files @@ -127,8 +127,9 @@ int avpriv_mpeg4audio_get_config(MPEG4AudioConfig *c, const uint8_t *buf, specific_config_bitindex = get_bits_count(&gb); - if (parse_config_ALS(&gb, c)) - return -1; + ret = parse_config_ALS(&gb, c); + if (ret < 0) + return ret; } if (c->ext_object_type != AOT_SBR && sync_extension) { |