summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <[email protected]>2015-06-04 22:59:34 +0200
committerMichael Niedermayer <[email protected]>2015-07-20 04:43:39 +0200
commit2b31264e1a6b4296d691ebd946325a9c33e57766 (patch)
tree1e38213155be494d2da0139f8870711b45cc888f
parentc2595b448571651c2cb5bbcd43238f6adb2d784c (diff)
avcodec/alsdec: Check for overread
Signed-off-by: Michael Niedermayer <[email protected]> (cherry picked from commit c2657633187e325a439e3297fd9ccd0522ab2e39) Signed-off-by: Michael Niedermayer <[email protected]>
-rw-r--r--libavcodec/alsdec.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/libavcodec/alsdec.c b/libavcodec/alsdec.c
index 6b4dab1e35..e05eaed4fb 100644
--- a/libavcodec/alsdec.c
+++ b/libavcodec/alsdec.c
@@ -1493,6 +1493,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;
}