Commit 7e623fd97f4b758aff154dec9fcf6155f9ee1661
Committed by
GitHub
Merge pull request #1542 from m-holger/fuzz
Add key and value validation in `NNTreeImpl` replacement logic to ens…
Showing
4 changed files
with
3 additions
and
2 deletions
fuzz/CMakeLists.txt
fuzz/qpdf_extra/6310410941956096.fuzz
0 → 100644
No preview for this file type
fuzz/qtest/fuzz.test
| ... | ... | @@ -11,7 +11,7 @@ my $td = new TestDriver('fuzz'); |
| 11 | 11 | |
| 12 | 12 | my $qpdf_corpus = $ENV{'QPDF_FUZZ_CORPUS'} || die "must set QPDF_FUZZ_CORPUS"; |
| 13 | 13 | |
| 14 | -my $n_qpdf_files = 102; # increment when adding new files | |
| 14 | +my $n_qpdf_files = 103; # increment when adding new files | |
| 15 | 15 | |
| 16 | 16 | my @fuzzers = ( |
| 17 | 17 | ['ascii85' => 1], | ... | ... |
libqpdf/NNTree.cc
| ... | ... | @@ -666,7 +666,7 @@ NNTreeImpl::repair() |
| 666 | 666 | NNTreeImpl repl(qpdf, new_node, key_type, value_valid, false); |
| 667 | 667 | std::map<QPDFObjectHandle, QPDFObjectHandle, Cmp> items; |
| 668 | 668 | for (auto const& [key, value]: *this) { |
| 669 | - if (key && value) { | |
| 669 | + if (key && value && repl.keyValid(key) && repl.value_valid(value) ) { | |
| 670 | 670 | items.insert_or_assign(key, value); |
| 671 | 671 | } |
| 672 | 672 | } | ... | ... |