Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul B Mahol <onemda@gmail.com>2018-03-29 22:36:56 +0300
committerPaul B Mahol <onemda@gmail.com>2018-03-30 10:59:44 +0300
commit91bb871376730a2394ed0ae1a3fd4295977002d3 (patch)
tree97eeaf601caff659a692bbcf1a5ad6906bf5bf14 /libavcodec/mpc8.c
parentaf043b839c38e850af1184fd6be691f8475c048e (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.c6
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;