[FFmpeg-devel] [PATCH] avcodec/ass: Fix a memory leak defect.

wm4 nfxjfg at googlemail.com
Mon Feb 12 22:59:28 EET 2018


On Mon, 12 Feb 2018 20:56:25 +0800
Gang Fan(范刚) <fan.gang.cn at gmail.com> wrote:

> Thanks to Hendrik
> Here is the new patch:
> 
> From 642a413080f20f9515321e42056248e86e003997 Mon Sep 17 00:00:00 2001
> From: Fan Gang <fangang at sbrella.com>
> Date: Mon, 12 Feb 2018 20:55:06 +0800
> Subject: [PATCH] avcodec/ass: Fix a memory leak defect when realloc fails.
> 
> ---
>  libavcodec/ass_split.c | 6 ++----
>  1 file changed, 2 insertions(+), 4 deletions(-)
> 
> diff --git a/libavcodec/ass_split.c b/libavcodec/ass_split.c
> index 872528b..eebe239 100644
> --- a/libavcodec/ass_split.c
> +++ b/libavcodec/ass_split.c
> @@ -249,7 +249,7 @@ static const char *ass_split_section(ASSSplitContext
> *ctx, const char *buf)
>      const ASSSection *section = &ass_sections[ctx->current_section];
>      int *number = &ctx->field_number[ctx->current_section];
>      int *order = ctx->field_order[ctx->current_section];
> -    int *tmp, i, len;
> +    int i, len;
> 
>      while (buf && *buf) {
>          if (buf[0] == '[') {
> @@ -280,9 +280,7 @@ static const char *ass_split_section(ASSSplitContext
> *ctx, const char *buf)
>                  while (!is_eol(*buf)) {
>                      buf = skip_space(buf);
>                      len = strcspn(buf, ", \r\n");
> -                    if (!(tmp = av_realloc_array(order, (*number + 1),
> sizeof(*order))))
> -                        return NULL;
> -                    order = tmp;
> +                    av_reallocp_array(&order, (*number + 1),
> sizeof(*order));
>                      order[*number] = -1;
>                      for (i=0; section->fields[i].name; i++)
>                          if (!strncmp(buf, section->fields[i].name, len)) {

The patch formatting is broken (line breaks). It will be cumbersome to
apply it, which most likely will mean nobody is going to try.

Never copy&paste a patch into the text field of your email client.
Instead you should do one of these things:

- just attach the patch as text attachment
- use git send-email


More information about the ffmpeg-devel mailing list