Skip to content

Commit 5130879

Browse files
lebdronvitalybuka
authored andcommitted
Refactor unary minus for unsigned type in MutateString
Signed-off-by: Andrei Lebedev <[email protected]>
1 parent 8372739 commit 5130879

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

src/libfuzzer/libfuzzer_mutator.cc

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,8 +89,12 @@ std::string Mutator::MutateString(const std::string& value,
8989
// any 8 bit types.
9090
if (!std::uniform_int_distribution<uint16_t>(0, 20)(*random())) return {};
9191
std::string result = value;
92-
result.resize(value.size() +
93-
std::max<int>(-value.size(), size_increase_hint));
92+
std::string::size_type new_size = 0;
93+
if (size_increase_hint >= 0 || static_cast<std::string::size_type>(
94+
-size_increase_hint) <= value.size()) {
95+
new_size = value.size() + size_increase_hint;
96+
}
97+
result.resize(new_size);
9498
if (result.empty()) result.push_back(0);
9599
result.resize(LLVMFuzzerMutate(reinterpret_cast<uint8_t*>(&result[0]),
96100
value.size(), result.size()));

0 commit comments

Comments
 (0)