pgssubdec: reset rle_data_len/rle_remaining_len on allocation error

The code relies on their validity and otherwise can try to access a NULL
object->rle pointer, causing segmentation faults.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
This commit is contained in:
Andreas Cadhalpun 2017-01-31 01:59:38 +01:00 committed by Diego Biurrun
parent 708e84cda1
commit 612cc07128
1 changed files with 4 additions and 1 deletions

View File

@ -297,8 +297,11 @@ static int parse_object_segment(AVCodecContext *avctx,
av_fast_malloc(&object->rle, &object->rle_buffer_size, rle_bitmap_len);
if (!object->rle)
if (!object->rle) {
object->rle_data_len = 0;
object->rle_remaining_len = 0;
return AVERROR(ENOMEM);
}
memcpy(object->rle, buf, buf_size);
object->rle_data_len = buf_size;