diff mbox series

[FFmpeg-devel,v1] libavfilter/af_channelsplit.c:fix memory leak

Message ID 20240412091923.1046792-1-lumingyindetect@163.com
State New
Headers show
Series [FFmpeg-devel,v1] libavfilter/af_channelsplit.c:fix memory leak | expand

Checks

Context Check Description
yinshiyou/commit_msg_loongarch64 warning The first line of the commit message must start with a context terminated by a colon and a space, for example "lavu/opt: " or "doc: ".
andriy/commit_msg_x86 warning The first line of the commit message must start with a context terminated by a colon and a space, for example "lavu/opt: " or "doc: ".
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished

Commit Message

LuMingYin April 12, 2024, 9:19 a.m. UTC
Signed-off-by: LuMingYin <lumingyindetect@163.com>
---
 libavfilter/af_channelsplit.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comments

Zhao Zhili April 12, 2024, 9:49 a.m. UTC | #1
> On Apr 12, 2024, at 17:19, LuMingYin <lumingyindetect@163.com> wrote:
> 
> Signed-off-by: LuMingYin <lumingyindetect@163.com>
> ---
> libavfilter/af_channelsplit.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/libavfilter/af_channelsplit.c b/libavfilter/af_channelsplit.c
> index d18d91dcb6..2cfac19cd3 100644
> --- a/libavfilter/af_channelsplit.c
> +++ b/libavfilter/af_channelsplit.c
> @@ -163,8 +163,10 @@ static int filter_frame(AVFilterLink *outlink, AVFrame *buf)
> 
>     buf_out->data[0] = buf_out->extended_data[0] = buf_out->extended_data[s->map[i]];
>     ret = av_channel_layout_from_mask(&buf_out->ch_layout, 1ULL << channel);
> -    if (ret < 0)
> +    if (ret < 0){
> +        av_frame_free(&buf_out);
>         return ret;
> +    }

LGTM. Please pay attention to the coding style. I can fix it manually this time.

> 
>     return ff_filter_frame(ctx->outputs[i], buf_out);
> }
> -- 
> 2.25.1
> 
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
Zhao Zhili April 15, 2024, 2:47 a.m. UTC | #2
> On Apr 12, 2024, at 17:49, Zhao Zhili <quinkblack@foxmail.com> wrote:
> 
> 
>> On Apr 12, 2024, at 17:19, LuMingYin <lumingyindetect@163.com> wrote:
>> 
>> Signed-off-by: LuMingYin <lumingyindetect@163.com>
>> ---
>> libavfilter/af_channelsplit.c | 4 +++-
>> 1 file changed, 3 insertions(+), 1 deletion(-)
>> 
>> diff --git a/libavfilter/af_channelsplit.c b/libavfilter/af_channelsplit.c
>> index d18d91dcb6..2cfac19cd3 100644
>> --- a/libavfilter/af_channelsplit.c
>> +++ b/libavfilter/af_channelsplit.c
>> @@ -163,8 +163,10 @@ static int filter_frame(AVFilterLink *outlink, AVFrame *buf)
>> 
>>    buf_out->data[0] = buf_out->extended_data[0] = buf_out->extended_data[s->map[i]];
>>    ret = av_channel_layout_from_mask(&buf_out->ch_layout, 1ULL << channel);
>> -    if (ret < 0)
>> +    if (ret < 0){
>> +        av_frame_free(&buf_out);
>>        return ret;
>> +    }
> 
> LGTM. Please pay attention to the coding style. I can fix it manually this time.

Applied as 5e380bcdb13dd47ce9c358a4edb281f05fde3f24.

> 
>> 
>>    return ff_filter_frame(ctx->outputs[i], buf_out);
>> }
>> -- 
>> 2.25.1
>> 
>> _______________________________________________
>> ffmpeg-devel mailing list
>> ffmpeg-devel@ffmpeg.org
>> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>> 
>> To unsubscribe, visit link above, or email
>> ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
>
diff mbox series

Patch

diff --git a/libavfilter/af_channelsplit.c b/libavfilter/af_channelsplit.c
index d18d91dcb6..2cfac19cd3 100644
--- a/libavfilter/af_channelsplit.c
+++ b/libavfilter/af_channelsplit.c
@@ -163,8 +163,10 @@  static int filter_frame(AVFilterLink *outlink, AVFrame *buf)
 
     buf_out->data[0] = buf_out->extended_data[0] = buf_out->extended_data[s->map[i]];
     ret = av_channel_layout_from_mask(&buf_out->ch_layout, 1ULL << channel);
-    if (ret < 0)
+    if (ret < 0){
+        av_frame_free(&buf_out);
         return ret;
+    }
 
     return ff_filter_frame(ctx->outputs[i], buf_out);
 }