summaryrefslogtreecommitdiff
path: root/libavcodec/dvbsubdec.c
diff options
context:
space:
mode:
authorJindrich Makovicka <makovick@gmail.com>2011-02-05 10:43:11 +0000
committerMans Rullgard <mans@mansr.com>2011-02-07 14:21:36 +0000
commit5bea615dc383cf3617c5057db4fbc6832fc64137 (patch)
treee43e297ad6496eac059e5098e47fe937d5e4bad5 /libavcodec/dvbsubdec.c
parent90e8a9c34f641d0cb9137190c1912a3da3095e01 (diff)
downloadffmpeg-5bea615dc383cf3617c5057db4fbc6832fc64137.tar.gz
dvbsubdec: pass correct input buffer size
In some places, dvbsubdec passes improper input buffer size to bitstream reading functions, not accounting for reading pointer updates. Fixed by using buffer_end - buffer pointer instead of fixed buffer length. Signed-off-by: Jindrich Makovicka <makovick@gmail.com> Signed-off-by: Mans Rullgard <mans@mansr.com>
Diffstat (limited to 'libavcodec/dvbsubdec.c')
-rw-r--r--libavcodec/dvbsubdec.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/libavcodec/dvbsubdec.c b/libavcodec/dvbsubdec.c
index fe9879822f..8cc8d4fc83 100644
--- a/libavcodec/dvbsubdec.c
+++ b/libavcodec/dvbsubdec.c
@@ -792,7 +792,7 @@ static void dvbsub_parse_pixel_data_block(AVCodecContext *avctx, DVBSubObjectDis
map_table = NULL;
x_pos += dvbsub_read_2bit_string(pbuf + (y_pos * region->width) + x_pos,
- region->width - x_pos, &buf, buf_size,
+ region->width - x_pos, &buf, buf_end - buf,
non_mod, map_table);
break;
case 0x11:
@@ -807,7 +807,7 @@ static void dvbsub_parse_pixel_data_block(AVCodecContext *avctx, DVBSubObjectDis
map_table = NULL;
x_pos += dvbsub_read_4bit_string(pbuf + (y_pos * region->width) + x_pos,
- region->width - x_pos, &buf, buf_size,
+ region->width - x_pos, &buf, buf_end - buf,
non_mod, map_table);
break;
case 0x12:
@@ -817,7 +817,7 @@ static void dvbsub_parse_pixel_data_block(AVCodecContext *avctx, DVBSubObjectDis
}
x_pos += dvbsub_read_8bit_string(pbuf + (y_pos * region->width) + x_pos,
- region->width - x_pos, &buf, buf_size,
+ region->width - x_pos, &buf, buf_end - buf,
non_mod, NULL);
break;