summaryrefslogtreecommitdiff
path: root/libavfilter
diff options
context:
space:
mode:
authorPaul B Mahol <onemda@gmail.com>2023-05-12 21:01:41 +0200
committerPaul B Mahol <onemda@gmail.com>2023-05-13 10:58:46 +0200
commitee6ef66d65730f426d25e7c942b7db4a3cb4bb1a (patch)
treea99cc80599dd75082472f5fdb717cafadcf34171 /libavfilter
parent8564b4ab057346cca142b69676116bcb74842161 (diff)
downloadffmpeg-ee6ef66d65730f426d25e7c942b7db4a3cb4bb1a.tar.gz
avfilter/avfiltergraph: fix check for negative return
Before this commit if allocation would fail in ff_add_channel_layout() function, function would return negative error code and this would cause wrong format pick up later. If allocation would not fail return code would be 0 and then format negotiation would simply fail as code would break from the loop but with wrong return code. Error was introduced in 6aaac24d72a7da commit. Fixes #6638
Diffstat (limited to 'libavfilter')
-rw-r--r--libavfilter/avfiltergraph.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/libavfilter/avfiltergraph.c b/libavfilter/avfiltergraph.c
index 53f468494d..744f480e1d 100644
--- a/libavfilter/avfiltergraph.c
+++ b/libavfilter/avfiltergraph.c
@@ -748,8 +748,10 @@ static int reduce_formats_on_filter(AVFilterContext *filter)
(KNOWN(fmt) || fmts->all_counts)) {
/* Turn the infinite list into a singleton */
fmts->all_layouts = fmts->all_counts = 0;
- if (ff_add_channel_layout(&outlink->incfg.channel_layouts, fmt) < 0)
- ret = 1;
+ ret = ff_add_channel_layout(&outlink->incfg.channel_layouts, fmt);
+ if (ret < 0)
+ return ret;
+ ret = 1;
break;
}