aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2015-01-01 17:56:56 +0100
committerLuca Barbato <lu_zero@gentoo.org>2015-01-12 22:21:54 +0100
commitbfe18be88a66da25b60a091de6011197dcb231fd (patch)
tree4301831021b55080ad8007e40be4886044a31b1a
parentf6c82b34a320f105af266997f5951cbe7dfc8a05 (diff)
downloadffmpeg-bfe18be88a66da25b60a091de6011197dcb231fd.tar.gz
mpeg4audio: check the init_get_bits() return value
Fixes possible invalid reads. CC:libav-stable@libav.org (cherry picked from commit 7e4e010b80e76862e83afbd41c25d50e72f0b44c) Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
-rw-r--r--libavcodec/mpeg4audio.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/libavcodec/mpeg4audio.c b/libavcodec/mpeg4audio.c
index 0fb9b96c80..2363cb637d 100644
--- a/libavcodec/mpeg4audio.c
+++ b/libavcodec/mpeg4audio.c
@@ -80,9 +80,11 @@ int avpriv_mpeg4audio_get_config(MPEG4AudioConfig *c, const uint8_t *buf,
int bit_size, int sync_extension)
{
GetBitContext gb;
- int specific_config_bitindex;
+ int specific_config_bitindex, ret;
- init_get_bits(&gb, buf, bit_size);
+ ret = init_get_bits(&gb, buf, bit_size);
+ if (ret < 0)
+ return ret;
c->object_type = get_object_type(&gb);
c->sample_rate = get_sample_rate(&gb, &c->sampling_index);
c->chan_config = get_bits(&gb, 4);