Browse Source

cmake: Stop processing if -P option lacks file name

While an error message was being logged, processing was
continuing nonetheless except with the -P argument omitted.
This could have allowed unintended effects if the remaining
arguments formed a valid set of command line options.
Craig Scott 6 years ago
parent
commit
a1adbc7243
1 changed files with 5 additions and 5 deletions
  1. 5 5
      Source/cmakemain.cxx

+ 5 - 5
Source/cmakemain.cxx

@@ -285,12 +285,12 @@ int do_cmake(int ac, char const* const* av)
     } else if (cmHasLiteralPrefix(av[i], "-P")) {
       if (i == ac - 1) {
         cmSystemTools::Error("No script specified for argument -P");
-      } else {
-        workingMode = cmake::SCRIPT_MODE;
-        args.push_back(av[i]);
-        i++;
-        args.push_back(av[i]);
+        return 1;
       }
+      workingMode = cmake::SCRIPT_MODE;
+      args.push_back(av[i]);
+      i++;
+      args.push_back(av[i]);
     } else if (cmHasLiteralPrefix(av[i], "--find-package")) {
       workingMode = cmake::FIND_PACKAGE_MODE;
       args.push_back(av[i]);