From 9f7d79fd30df3712e6bfc6d475bfa143c069c4df Mon Sep 17 00:00:00 2001 From: Even Rouault Date: Thu, 17 Aug 2017 14:52:10 +0200 Subject: [PATCH] opj_getopt_long(): avoid infinite loop on invalid or missing value for an option (#736) --- src/bin/common/opj_getopt.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/bin/common/opj_getopt.c b/src/bin/common/opj_getopt.c index ef9a920a..5db94ca0 100644 --- a/src/bin/common/opj_getopt.c +++ b/src/bin/common/opj_getopt.c @@ -240,6 +240,7 @@ again: '-') { /* Has read next input parameter: No arg for current parameter */ if (opj_opterr) { fprintf(stderr, "%s: option requires an argument\n", arg); + ++opj_optind; return (BADCH); } } @@ -247,6 +248,7 @@ again: if (!opj_optarg) { /* missing argument */ if (opj_opterr) { fprintf(stderr, "%s: option requires an argument\n", arg); + ++opj_optind; return (BADCH); } }