MCPcopy Create free account
hub / github.com/ElementsProject/elements / read

Method read

src/test/fuzz/util.cpp:551–568  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

549}
550
551ssize_t FuzzedFileProvider::read(void* cookie, char* buf, size_t size)
552{
553 FuzzedFileProvider* fuzzed_file = (FuzzedFileProvider*)cookie;
554 SetFuzzedErrNo(fuzzed_file->m_fuzzed_data_provider);
555 if (buf == nullptr || size == 0 || fuzzed_file->m_fuzzed_data_provider.ConsumeBool()) {
556 return fuzzed_file->m_fuzzed_data_provider.ConsumeBool() ? 0 : -1;
557 }
558 const std::vector<uint8_t> random_bytes = fuzzed_file->m_fuzzed_data_provider.ConsumeBytes<uint8_t>(size);
559 if (random_bytes.empty()) {
560 return 0;
561 }
562 std::memcpy(buf, random_bytes.data(), random_bytes.size());
563 if (AdditionOverflow(fuzzed_file->m_offset, (int64_t)random_bytes.size())) {
564 return fuzzed_file->m_fuzzed_data_provider.ConsumeBool() ? 0 : -1;
565 }
566 fuzzed_file->m_offset += random_bytes.size();
567 return random_bytes.size();
568}
569
570ssize_t FuzzedFileProvider::write(void* cookie, const char* buf, size_t size)
571{

Callers 15

executeMethod · 0.45
fetchBlockMethod · 0.45
runMethod · 0.45
process_fileFunction · 0.45
tree_sha512sumFunction · 0.45
mainFunction · 0.45
_get_responseMethod · 0.45
read_fileFunction · 0.45
__init__Method · 0.45
files_are_equalFunction · 0.45
mainFunction · 0.45
parse_makefileFunction · 0.45

Calls 6

SetFuzzedErrNoFunction · 0.85
AdditionOverflowFunction · 0.85
ConsumeBoolMethod · 0.80
emptyMethod · 0.45
dataMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected