diff options
author | Vitaly Buka <vitalybuka@gmail.com> | 2020-11-05 17:42:22 -0800 |
---|---|---|
committer | Vitaly Buka <vitalybuka@gmail.com> | 2020-11-05 17:58:57 -0800 |
commit | e5869dd9690c3f4dfb842fb90bd07a5a9ee32172 (patch) | |
tree | ed46d83da289a79261d57d755293d2f897acde4f | |
parent | 51308795413a0535843e599edc7ab418e7e25d7e (diff) | |
download | libprotobuf-mutator-e5869dd9690c3f4dfb842fb90bd07a5a9ee32172.tar.gz |
Simplify string resizing
-rw-r--r-- | src/libfuzzer/libfuzzer_mutator.cc | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/src/libfuzzer/libfuzzer_mutator.cc b/src/libfuzzer/libfuzzer_mutator.cc index dfb86ef..34d144c 100644 --- a/src/libfuzzer/libfuzzer_mutator.cc +++ b/src/libfuzzer/libfuzzer_mutator.cc @@ -89,13 +89,8 @@ std::string Mutator::MutateString(const std::string& value, // any 8 bit types. if (!std::uniform_int_distribution<uint16_t>(0, 20)(*random())) return {}; std::string result = value; - std::string::size_type new_size = 0; - if (size_increase_hint >= 0 || static_cast<std::string::size_type>( - -size_increase_hint) <= value.size()) { - new_size = value.size() + size_increase_hint; - } - result.resize(new_size); - if (result.empty()) result.push_back(0); + int new_size = value.size() + size_increase_hint; + result.resize(std::max(1, new_size)); result.resize(LLVMFuzzerMutate(reinterpret_cast<uint8_t*>(&result[0]), value.size(), result.size())); return result; |