diff options
author | Yabin Cui <yabinc@google.com> | 2022-09-30 04:50:55 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2022-09-30 04:50:55 +0000 |
commit | 9dc4f921bb19a6d948f4fd04099e22bbf0768cc8 (patch) | |
tree | 63ea9fae399bf6f5b178f083017289a8fe38d144 | |
parent | 05a08b61b838f66b83e38e42a3584cfab4d5186a (diff) | |
parent | c544b388fc25ff0ea8132f20cadb00525237b6b3 (diff) | |
download | extras-9dc4f921bb19a6d948f4fd04099e22bbf0768cc8.tar.gz |
Merge "simpleperf: fix fuzz bug in ReadRecord()."
-rw-r--r-- | simpleperf/record_file_reader.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/simpleperf/record_file_reader.cpp b/simpleperf/record_file_reader.cpp index 1740edf2..8fb592ed 100644 --- a/simpleperf/record_file_reader.cpp +++ b/simpleperf/record_file_reader.cpp @@ -297,6 +297,10 @@ std::unique_ptr<Record> RecordFileReader::ReadRecord() { return nullptr; } RecordHeader header(header_buf); + if (header.size < Record::header_size()) { + LOG(ERROR) << "invalid record"; + return nullptr; + } std::unique_ptr<char[]> p; if (header.type == SIMPLE_PERF_RECORD_SPLIT) { // Read until meeting a RECORD_SPLIT_END record. |