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 <kaspe...@gmail.com>
---
 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);
         }
-- 
2.45.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-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to