[FFmpeg-devel] [PATCH] avformat/fifo: Free dict on av_dict_copy() failure
Andreas Rheinhardt
andreas.rheinhardt at outlook.com
Thu Jul 29 00:38:45 EEST 2021
av_dict_copy() puts the onus on the caller to clean up dst on failure;
it can be nonempty if copying a later entry of src fails after having
successfully copied an earlier entry.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
---
It seems that av_dict_copy() together with the
AV_DICT_DONT_STRDUP_KEY/VAL flags creates zombie src AVDictionaries.
libavformat/fifo.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libavformat/fifo.c b/libavformat/fifo.c
index a9b59b6589..10511167cd 100644
--- a/libavformat/fifo.c
+++ b/libavformat/fifo.c
@@ -129,7 +129,7 @@ static int fifo_thread_write_header(FifoThreadContext *ctx)
ret = av_dict_copy(&format_options, fifo->format_options, 0);
if (ret < 0)
- return ret;
+ goto end;
ret = ff_format_output_open(avf2, avf->url, &format_options);
if (ret < 0) {
--
2.30.2
More information about the ffmpeg-devel
mailing list