aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2015-06-04 22:59:34 +0200
committerMichael Niedermayer <michaelni@gmx.at>2015-06-04 23:27:11 +0200
commitc03c2f23b2299eeec48e3e8f9e0d5b74258db58a (patch)
tree45ff94113cbfd5bc0005a460eaeaefde3f8085cc
parenteb021638a116e64b8dd7ff250f5165b9a841dc93 (diff)
downloadffmpeg-c03c2f23b2299eeec48e3e8f9e0d5b74258db58a.tar.gz
avcodec/alsdec: Check for overread
Signed-off-by: Michael Niedermayer <michaelni@gmx.at> (cherry picked from commit c2657633187e325a439e3297fd9ccd0522ab2e39) Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r--libavcodec/alsdec.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/libavcodec/alsdec.c b/libavcodec/alsdec.c
index b5e748dee6..a0514ac575 100644
--- a/libavcodec/alsdec.c
+++ b/libavcodec/alsdec.c
@@ -1488,6 +1488,11 @@ static int read_frame_data(ALSDecContext *ctx, unsigned int ra_frame)
// TODO: read_diff_float_data
+ if (get_bits_left(gb) < 0) {
+ av_log(ctx->avctx, AV_LOG_ERROR, "Overread %d\n", -get_bits_left(gb));
+ return AVERROR_INVALIDDATA;
+ }
+
return 0;
}