Commit f8fb4057 authored by Abhishek Arya's avatar Abhishek Arya Committed by Commit Bot

Use base::StringPieceInput instead of std::string for string_to_int_fuzzer.

std::string is null-terminated and can hide some overflow bugs.
Use base::StringPieceInput instead which is not null-terminated.

Change-Id: Ib3f6f00dfc47491ddc5ce7c347dd894f0c043268
Reviewed-on: https://chromium-review.googlesource.com/960564Reviewed-by: default avatarRobert Sesek <rsesek@chromium.org>
Commit-Queue: Abhishek Arya <inferno@chromium.org>
Cr-Commit-Position: refs/heads/master@{#542806}
parent e09b04fd
......@@ -12,26 +12,30 @@
// Entry point for LibFuzzer.
extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
std::string input(reinterpret_cast<const char*>(data), size);
base::StringPiece string_piece_input(reinterpret_cast<const char*>(data),
size);
std::string string_input(reinterpret_cast<const char*>(data), size);
int out_int;
base::StringToInt(input, &out_int);
base::StringToInt(string_piece_input, &out_int);
unsigned out_uint;
base::StringToUint(input, &out_uint);
base::StringToUint(string_piece_input, &out_uint);
int64_t out_int64;
base::StringToInt64(input, &out_int64);
base::StringToInt64(string_piece_input, &out_int64);
uint64_t out_uint64;
base::StringToUint64(input, &out_uint64);
base::StringToUint64(string_piece_input, &out_uint64);
size_t out_size;
base::StringToSizeT(input, &out_size);
base::StringToSizeT(string_piece_input, &out_size);
double out_double;
base::StringToDouble(input, &out_double);
base::HexStringToInt(input, &out_int);
base::HexStringToUInt(input, &out_uint);
base::HexStringToInt64(input, &out_int64);
base::HexStringToUInt64(input, &out_uint64);
base::StringToDouble(string_input, &out_double);
base::HexStringToInt(string_piece_input, &out_int);
base::HexStringToUInt(string_piece_input, &out_uint);
base::HexStringToInt64(string_piece_input, &out_int64);
base::HexStringToUInt64(string_piece_input, &out_uint64);
std::vector<uint8_t> out_bytes;
base::HexStringToBytes(input, &out_bytes);
base::HexStringToBytes(string_piece_input, &out_bytes);
base::HexEncode(data, size);
return 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment