зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1838598 - Nyx: Adjust replay format. r=truber
Differential Revision: https://phabricator.services.mozilla.com/D181057
This commit is contained in:
Родитель
157e74a7f7
Коммит
0071128928
|
@ -67,31 +67,18 @@ void Nyx::start(void) {
|
|||
std::ifstream is;
|
||||
is.open(testFile, std::ios::binary);
|
||||
|
||||
uint64_t chksum, num_ops, num_data, op_offset, data_offset;
|
||||
|
||||
// If only C++ supported streaming operators on binary files...
|
||||
is.read(reinterpret_cast<char*>(&chksum), sizeof(uint64_t));
|
||||
is.read(reinterpret_cast<char*>(&num_ops), sizeof(uint64_t));
|
||||
is.read(reinterpret_cast<char*>(&num_data), sizeof(uint64_t));
|
||||
is.read(reinterpret_cast<char*>(&op_offset), sizeof(uint64_t));
|
||||
is.read(reinterpret_cast<char*>(&data_offset), sizeof(uint64_t));
|
||||
|
||||
if (!is.good()) {
|
||||
MOZ_FUZZING_NYX_PRINT("[Replay Mode] Error reading input file.\n");
|
||||
_exit(1);
|
||||
}
|
||||
|
||||
is.seekg(data_offset);
|
||||
|
||||
// The data chunks we receive through Nyx are stored in the data
|
||||
// section of the testfile as chunks prefixed with a 16-bit data
|
||||
// length. We read all chunks and store them away to simulate how
|
||||
// we originally received the data via Nyx.
|
||||
// length that we mask down to 11-bit. We read all chunks and
|
||||
// store them away to simulate how we originally received the data
|
||||
// via Nyx.
|
||||
|
||||
while (is.good()) {
|
||||
uint16_t pktsize;
|
||||
is.read(reinterpret_cast<char*>(&pktsize), sizeof(uint16_t));
|
||||
|
||||
pktsize &= 0x7ff;
|
||||
|
||||
if (!is.good()) {
|
||||
break;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче