diff options
author | Paul B Mahol <onemda@gmail.com> | 2018-03-29 22:36:56 +0300 |
---|---|---|
committer | Paul B Mahol <onemda@gmail.com> | 2018-03-30 10:59:44 +0300 |
commit | 91bb871376730a2394ed0ae1a3fd4295977002d3 (patch) | |
tree | 97eeaf601caff659a692bbcf1a5ad6906bf5bf14 /libavcodec/mpc8.c | |
parent | af043b839c38e850af1184fd6be691f8475c048e (diff) |
avcodec/mpc8: check for overread first
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Diffstat (limited to 'libavcodec/mpc8.c')
-rw-r--r-- | libavcodec/mpc8.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/libavcodec/mpc8.c b/libavcodec/mpc8.c index 80e0e9e68d..355a9d2f3f 100644 --- a/libavcodec/mpc8.c +++ b/libavcodec/mpc8.c @@ -419,11 +419,11 @@ static int mpc8_decode_frame(AVCodecContext * avctx, void *data, c->last_bits_used = get_bits_count(gb); if(c->cur_frame >= c->frames) c->cur_frame = 0; - if(c->cur_frame == 0 && get_bits_left(gb) < 8) {// we have only padding left - c->last_bits_used = buf_size << 3; - } else if (get_bits_left(gb) < 0) { + if (get_bits_left(gb) < 0) { av_log(avctx, AV_LOG_ERROR, "Overread %d\n", -get_bits_left(gb)); c->last_bits_used = buf_size << 3; + } else if (c->cur_frame == 0 && get_bits_left(gb) < 8) {// we have only padding left + c->last_bits_used = buf_size << 3; } *got_frame_ptr = 1; |