[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