21 std::optional<CBufferedFile> opt_buffered_file;
22 FILE* fuzzed_file = fuzzed_file_provider.
open();
24 opt_buffered_file.emplace(fuzzed_file, fuzzed_data_provider.ConsumeIntegralInRange<uint64_t>(0, 4096), fuzzed_data_provider.ConsumeIntegralInRange<uint64_t>(0, 4096), fuzzed_data_provider.ConsumeIntegral<
int>(), fuzzed_data_provider.ConsumeIntegral<
int>());
25 }
catch (
const std::ios_base::failure&) {
26 if (fuzzed_file !=
nullptr) {
30 if (opt_buffered_file && fuzzed_file !=
nullptr) {
31 bool setpos_fail =
false;
36 std::array<std::byte, 4096> arr{};
38 opt_buffered_file->read({arr.data(), fuzzed_data_provider.ConsumeIntegralInRange<
size_t>(0, 4096)});
39 }
catch (
const std::ios_base::failure&) {
43 opt_buffered_file->SetLimit(fuzzed_data_provider.ConsumeIntegralInRange<uint64_t>(0, 4096));
46 if (!opt_buffered_file->SetPos(fuzzed_data_provider.ConsumeIntegralInRange<uint64_t>(0, 4096))) {
56 opt_buffered_file->FindByte(fuzzed_data_provider.ConsumeIntegral<uint8_t>());
57 }
catch (
const std::ios_base::failure&) {
64 opt_buffered_file->GetPos();
65 opt_buffered_file->GetType();
66 opt_buffered_file->GetVersion();