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(0, 20)(*random())) return {}; std::string result = value; - std::string::size_type new_size = 0; - if (size_increase_hint >= 0 || static_cast( - -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(&result[0]), value.size(), result.size())); return result;