diff options
author | Jay Berkenbilt <ejb@ql.org> | 2022-09-02 15:37:17 +0200 |
---|---|---|
committer | Jay Berkenbilt <ejb@ql.org> | 2022-09-02 15:37:17 +0200 |
commit | 31396f61c98ff955118f192f75bf02320c7a2abc (patch) | |
tree | 037ef427d5537c588d13c9408c672597927ff6b9 /libqpdf/QPDFJob.cc | |
parent | fa15042ce9f95b69dcd1dc89449ff3b295b9eff3 (diff) | |
download | qpdf-31396f61c98ff955118f192f75bf02320c7a2abc.tar.zst |
Disallow --empty with --replace-input (fixes #728)
Diffstat (limited to 'libqpdf/QPDFJob.cc')
-rw-r--r-- | libqpdf/QPDFJob.cc | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/libqpdf/QPDFJob.cc b/libqpdf/QPDFJob.cc index 691f193c..8bf619a2 100644 --- a/libqpdf/QPDFJob.cc +++ b/libqpdf/QPDFJob.cc @@ -683,7 +683,13 @@ QPDFJob::getExitCode() const void QPDFJob::checkConfiguration() { + // Do final checks for command-line consistency. (I always think + // this is called doFinalChecks, so I'm putting that in a + // comment.) + if (m->replace_input) { + // Check for --empty appears later after we have checked + // m->infilename. if (m->outfilename) { usage("--replace-input may not be used when" " an output file is specified"); @@ -700,6 +706,8 @@ QPDFJob::checkConfiguration() } if (m->infilename == nullptr) { usage("an input file name is required"); + } else if (m->replace_input && (strlen(m->infilename.get()) == 0)) { + usage("--replace-input may not be used with --empty"); } else if ( m->require_outfile && (m->outfilename == nullptr) && (!m->replace_input)) { |