MCPcopy Create free account
hub / github.com/apache/arrow / FuzzIpcStream

Function FuzzIpcStream

cpp/src/arrow/ipc/reader.cc:2764–2783  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2762} // namespace
2763
2764Status FuzzIpcStream(const uint8_t* data, int64_t size) {
2765 auto buffer = std::make_shared<Buffer>(data, size);
2766 io::BufferReader buffer_reader(buffer);
2767
2768 std::shared_ptr<RecordBatchReader> batch_reader;
2769 ARROW_ASSIGN_OR_RAISE(batch_reader,
2770 RecordBatchStreamReader::Open(&buffer_reader, FuzzingOptions()));
2771 Status st;
2772
2773 while (true) {
2774 ARROW_ASSIGN_OR_RAISE(auto batch, batch_reader->ReadNext());
2775 if (!batch.batch && !batch.custom_metadata) {
2776 // EOS
2777 break;
2778 }
2779 st &= ValidateFuzzBatch(batch);
2780 }
2781
2782 return st;
2783}
2784
2785Status FuzzIpcFile(const uint8_t* data, int64_t size) {
2786 auto buffer = std::make_shared<Buffer>(data, size);

Callers 1

LLVMFuzzerTestOneInputFunction · 0.85

Calls 3

FuzzingOptionsFunction · 0.85
ValidateFuzzBatchFunction · 0.85
ARROW_ASSIGN_OR_RAISEFunction · 0.70

Tested by

no test coverage detected