opj_getopt_long(): avoid infinite loop on invalid or missing value for an option...
authorEven Rouault <even.rouault@spatialys.com>
Thu, 17 Aug 2017 12:52:10 +0000 (14:52 +0200)
committerEven Rouault <even.rouault@spatialys.com>
Thu, 17 Aug 2017 12:52:10 +0000 (14:52 +0200)
src/bin/common/opj_getopt.c

index ef9a920a51b1ce5829f18a883a4f0167aa5badcd..5db94ca05fd77826970e4fd7f27584307ac129a6 100644 (file)
@@ -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);
                         }
                     }