[FFmpeg-devel] [PATCH] avcodec/ass: Fix a memory leak defect.
Gang Fan(范刚)
fan.gang.cn at gmail.com
Mon Feb 12 12:55:08 EET 2018
There is a potential memory leak bug in file ass_split.c, here is the
description.
A piece of memory is allocated on line 283. When executing the loop twice
and if the av_realloc_array returns null the function returns without
freeing the memory pointed by order.
Suggested fix:
free(order) before return NULL; on line 284
Reference Ticket: https://trac.ffmpeg.org/ticket/7019#comment:1
Thanks
Gang
Sbrella
>From 6850fc3a6562b4f5fb92e72eed125e057ad975ae Mon Sep 17 00:00:00 2001
From: Fan Gang <fangang at sbrella.com>
Date: Mon, 12 Feb 2018 18:46:20 +0800
Subject: [PATCH] avcodec/ass: Fix a memory leak defect when realloc fails.
---
libavcodec/ass_split.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/libavcodec/ass_split.c b/libavcodec/ass_split.c
index 872528b..c7eb07d 100644
--- a/libavcodec/ass_split.c
+++ b/libavcodec/ass_split.c
@@ -280,8 +280,10 @@ 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))))
+ if (!(tmp = av_realloc_array(order, (*number + 1),
sizeof(*order)))){
+ free(order);
return NULL;
+ }
order = tmp;
order[*number] = -1;
for (i=0; section->fields[i].name; i++)
--
1.9.1
More information about the ffmpeg-devel
mailing list