[FFmpeg-devel] [PATCH V1 12/12] tools/aviocat: fix memory leak after av_dict_parse_string fail
Jun Zhao
mypopydev at gmail.com
Wed Jan 1 07:20:40 EET 2020
From: Jun Zhao <barryjzhao at tencent.com>
In case of failure, all the successfully set entries are stored in
*pm. We need to manually free the created dictionary to avoid
memory leak.
Signed-off-by: Jun Zhao <barryjzhao at tencent.com>
---
tools/aviocat.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/tools/aviocat.c b/tools/aviocat.c
index 816ab70..0fdf39b 100644
--- a/tools/aviocat.c
+++ b/tools/aviocat.c
@@ -53,6 +53,7 @@ int main(int argc, char **argv)
i++;
} else if (!strcmp(argv[i], "-oi") && i + 1 < argc) {
if (av_dict_parse_string(&in_opts, argv[i + 1], "=", ":", 0) < 0) {
+ av_dict_free(&in_opts);
fprintf(stderr, "Cannot parse option string %s\n",
argv[i + 1]);
return usage(argv[0], 1);
@@ -60,6 +61,7 @@ int main(int argc, char **argv)
i++;
} else if (!strcmp(argv[i], "-oo") && i + 1 < argc) {
if (av_dict_parse_string(&out_opts, argv[i + 1], "=", ":", 0) < 0) {
+ av_dict_free(&out_opts);
fprintf(stderr, "Cannot parse option string %s\n",
argv[i + 1]);
return usage(argv[0], 1);
--
1.7.1
More information about the ffmpeg-devel
mailing list