From 5f62e2de98eaf1afdea238b53b2b5ac8f0875239 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kacper=20Michaj=C5=82ow?= Date: Mon, 30 Jun 2025 20:36:09 +0200 Subject: [PATCH] fftools/cmdutils: don't try to load arguments from file if not needed MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit CLI option parser checks if argument exists when needed, but in this case only OPT_TYPE_BOOL where checked, so OPT_TYPE_FUNC without argument where trying to load a file from `arg` which is NULL in this case. Fixes crash on `ffmpeg -/version` Fixes: 6d17991b7e1bf1a5d104c8a6261709f7e6640d97 Signed-off-by: Kacper Michajłow Signed-off-by: Michael Niedermayer --- fftools/cmdutils.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/fftools/cmdutils.c b/fftools/cmdutils.c index be21ed2c6c..e442935cae 100644 --- a/fftools/cmdutils.c +++ b/fftools/cmdutils.c @@ -255,9 +255,10 @@ static int write_option(void *optctx, const OptionDef *po, const char *opt, if (*opt == '/') { opt++; - if (po->type == OPT_TYPE_BOOL) { + if (!opt_has_arg(po)) { av_log(NULL, AV_LOG_FATAL, - "Requested to load an argument from file for a bool option '%s'\n", + "Requested to load an argument from file for an option '%s'" + " which does not take an argument\n", po->name); return AVERROR(EINVAL); }