[FFmpeg-devel] [PATCH] pgssubdec: only set w/h/linesize when allocating data
Andreas Cadhalpun
andreas.cadhalpun at googlemail.com
Thu Nov 10 00:27:04 EET 2016
Rects with positive w/h/linesize but no data are invalid.
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun at googlemail.com>
---
libavcodec/pgssubdec.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/libavcodec/pgssubdec.c b/libavcodec/pgssubdec.c
index cef477d..b50b37b 100644
--- a/libavcodec/pgssubdec.c
+++ b/libavcodec/pgssubdec.c
@@ -556,12 +556,13 @@ static int display_end_segment(AVCodecContext *avctx, void *data,
sub->rects[i]->x = ctx->presentation.objects[i].x;
sub->rects[i]->y = ctx->presentation.objects[i].y;
- sub->rects[i]->w = object->w;
- sub->rects[i]->h = object->h;
-
- sub->rects[i]->linesize[0] = object->w;
if (object->rle) {
+ sub->rects[i]->w = object->w;
+ sub->rects[i]->h = object->h;
+
+ sub->rects[i]->linesize[0] = object->w;
+
if (object->rle_remaining_len) {
av_log(avctx, AV_LOG_ERROR, "RLE data length %u is %u bytes shorter than expected\n",
object->rle_data_len, object->rle_remaining_len);
--
2.10.2
More information about the ffmpeg-devel
mailing list