Show More
@@ -1,5 +1,6 b'' | |||||
1 | #include "fuzzutil.h" |
|
1 | #include "fuzzutil.h" | |
2 |
|
2 | |||
|
3 | #include <cstring> | |||
3 | #include <utility> |
|
4 | #include <utility> | |
4 |
|
5 | |||
5 | contrib::optional<two_inputs> SplitInputs(const uint8_t *Data, size_t Size) |
|
6 | contrib::optional<two_inputs> SplitInputs(const uint8_t *Data, size_t Size) | |
@@ -13,11 +14,11 b' contrib::optional<two_inputs> SplitInput' | |||||
13 | // Copy inputs to new allocations so if bdiff over-reads |
|
14 | // Copy inputs to new allocations so if bdiff over-reads | |
14 | // AddressSanitizer can detect it. |
|
15 | // AddressSanitizer can detect it. | |
15 | std::unique_ptr<char[]> left(new char[left_size]); |
|
16 | std::unique_ptr<char[]> left(new char[left_size]); | |
16 | memcpy(left.get(), Data + 1, left_size); |
|
17 | std::memcpy(left.get(), Data + 1, left_size); | |
17 | // right starts at the next byte after left ends |
|
18 | // right starts at the next byte after left ends | |
18 | size_t right_size = Size - (left_size + 1); |
|
19 | size_t right_size = Size - (left_size + 1); | |
19 | std::unique_ptr<char[]> right(new char[right_size]); |
|
20 | std::unique_ptr<char[]> right(new char[right_size]); | |
20 | memcpy(right.get(), Data + 1 + left_size, right_size); |
|
21 | std::memcpy(right.get(), Data + 1 + left_size, right_size); | |
21 | LOG(2) << "inputs are " << left_size << " and " << right_size |
|
22 | LOG(2) << "inputs are " << left_size << " and " << right_size | |
22 | << " bytes" << std::endl; |
|
23 | << " bytes" << std::endl; | |
23 | two_inputs result = {std::move(right), right_size, std::move(left), |
|
24 | two_inputs result = {std::move(right), right_size, std::move(left), |
General Comments 0
You need to be logged in to leave comments.
Login now