From 3bc47b421f66ffa434da59384394ce2002dafeae Mon Sep 17 00:00:00 2001
From: Will Dietz <w@wdtz.org>
Date: Tue, 19 Nov 2013 15:41:35 -0600
Subject: [PATCH] mpegvideo: Add check for pointer overflow to demonstrate issue.
---
libavcodec/mpegvideo.c | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/libavcodec/mpegvideo.c b/libavcodec/mpegvideo.c
index 00d58dc..1676082 100644
|
a
|
b
|
void ff_init_block_index(MpegEncContext *s){ //FIXME maybe rename
|
| 3046 | 3046 | s->block_index[5]= s->mb_stride*(s->mb_y + s->mb_height + 2) + s->b8_stride*s->mb_height*2 + s->mb_x - 1; |
| 3047 | 3047 | //block_index is not used by mpeg2, so it is not affected by chroma_format |
| 3048 | 3048 | |
| | 3049 | if (!s->current_picture.f.data[0] && (((s->mb_x - 1) << mb_size) < -1)) { |
| | 3050 | fprintf(stderr, "Error: pointer overflow!\n"); |
| | 3051 | abort(); |
| | 3052 | } |
| 3049 | 3053 | s->dest[0] = s->current_picture.f.data[0] + ((s->mb_x - 1) << mb_size); |
| 3050 | 3054 | s->dest[1] = s->current_picture.f.data[1] + ((s->mb_x - 1) << (mb_size - s->chroma_x_shift)); |
| 3051 | 3055 | s->dest[2] = s->current_picture.f.data[2] + ((s->mb_x - 1) << (mb_size - s->chroma_x_shift)); |