Fixed a memory leak in dvbsubenc.c: sub->num_rects was reduced without freeing the associated rects.

Signed-off-by: Wim Vander Schelden <lists@fixnum.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Wim Vander Schelden 2014-01-21 14:38:16 +01:00 committed by Michael Niedermayer
parent 2efdccac87
commit af09be4f4b
1 changed files with 7 additions and 3 deletions

View File

@ -1384,7 +1384,13 @@ static int dvbsub_display_end_segment(AVCodecContext *avctx, const uint8_t *buf,
offset_y = display_def->y;
}
sub->num_rects = ctx->display_list_size;
sub->num_rects = 0;
for (display = ctx->display_list; display; display = display->next)
{
region = get_region(ctx, display->region_id);
if (region && region->dirty)
sub->num_rects++;
}
if (sub->num_rects > 0){
sub->rects = av_mallocz(sizeof(*sub->rects) * sub->num_rects);
@ -1437,8 +1443,6 @@ static int dvbsub_display_end_segment(AVCodecContext *avctx, const uint8_t *buf,
i++;
}
sub->num_rects = i;
}
#ifdef DEBUG
save_display_set(ctx);