blob: 61e479b2e0b0f8dd3903c5d7d27cc142fb2f0194 [file] [log] [blame]
// Copyright 2018 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "packet_protocol.h"
#include <memory>
#include "gmock/gmock.h"
#include "gtest/gtest.h"
#include "packet_protocol_fuzzer_helpers.h"
#include "test_timer.h"
using testing::_;
using testing::Mock;
using testing::Pointee;
using testing::Property;
using testing::SaveArg;
using testing::StrictMock;
namespace overnet {
// Some default MSS for tests
static const uint64_t kMSS = 1500;
typedef std::function<void(const Status&)> StatusFunc;
class MockPacketSender : public PacketProtocol::PacketSender {
public:
MOCK_METHOD3(SendPacketMock, void(SeqNum, Slice, StatusFunc));
void SendPacket(SeqNum seq, Slice slice, StatusCallback cb) override {
SendPacketMock(seq, slice,
[cb = std::make_shared<StatusCallback>(std::move(cb))](
const Status& status) { (*cb)(status); });
}
MOCK_METHOD1(SentCallback, void(const Status&));
StatusCallback NewSentCallback() {
return StatusCallback(ALLOCATED_CALLBACK, [this](const Status& status) {
this->SentCallback(status);
});
}
MOCK_METHOD1(SendCallback, void(const Status&));
PacketProtocol::SendCallback NewSendCallback() {
return PacketProtocol::SendCallback(
ALLOCATED_CALLBACK,
[this](const Status& status) { this->SendCallback(status); });
}
};
TEST(PacketProtocol, NoOp) {
StrictMock<MockPacketSender> ps;
TestTimer timer;
PacketProtocol packet_protocol(&timer, &ps, kMSS);
}
TEST(PacketProtocol, SendOnePacket) {
StrictMock<MockPacketSender> ps;
TestTimer timer;
PacketProtocol packet_protocol(&timer, &ps, kMSS);
// Send some dummy data: we expect to see a packet emitted immediately
StatusFunc done_cb;
EXPECT_CALL(ps,
SendPacketMock(Property(&SeqNum::ReconstructFromZero_TestOnly, 1),
Slice::FromContainer({0, 1, 2, 3, 4, 5}), _))
.WillOnce(SaveArg<2>(&done_cb));
packet_protocol.Send([&](uint64_t desire_prefix, uint64_t max_len) {
EXPECT_LT(desire_prefix, kMSS);
EXPECT_LE(max_len, kMSS);
EXPECT_GT(max_len, uint64_t(0));
return PacketProtocol::SendData{Slice::FromContainer({1, 2, 3, 4, 5}),
ps.NewSentCallback(), ps.NewSendCallback()};
});
Mock::VerifyAndClearExpectations(&ps);
// Signal the packet is sent.
EXPECT_CALL(ps, SentCallback(Property(&Status::is_ok, true)));
done_cb(Status::Ok());
Mock::VerifyAndClearExpectations(&ps);
// Build a fake ack packet.
Slice ack = Slice::FromWritable(AckFrame(1, 1));
ack = ack.WithPrefix(1, [len = ack.length()](uint8_t* p) { *p = len; });
// Calling Process on it should succeed and trigger the completion callback
// for the send.
EXPECT_CALL(ps, SendCallback(Property(&Status::is_ok, true)));
EXPECT_THAT(packet_protocol.Process(TimeStamp::Epoch(), SeqNum(1, 1), ack),
Pointee(Slice()));
}
// Exposed some bugs in the fuzzer, and a bug whereby empty ack frames caused a
// failure.
TEST(PacketProtocolFuzzed, _02ef5d596c101ce01181a7dcd0a294ed81c88dbd) {
PacketProtocolFuzzer fuzzer;
static const uint8_t block0[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block0, 1); }))) {
return;
}
static const uint8_t block1[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block1, 1); }))) {
return;
}
static const uint8_t block2[] = {0x01, 0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
2, 1, [](uint8_t* p) { memcpy(p, block2, 2); }))) {
return;
}
static const uint8_t block3[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block3, 1); }))) {
return;
}
static const uint8_t block4[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 3, [](uint8_t* p) { memcpy(p, block4, 1); }))) {
return;
}
static const uint8_t block5[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block5, 1); }))) {
return;
}
static const uint8_t block6[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block6, 1); }))) {
return;
}
static const uint8_t block7[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block7, 1); }))) {
return;
}
static const uint8_t block8[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 255, [](uint8_t* p) { memcpy(p, block8, 1); }))) {
return;
}
if (!fuzzer.CompleteSend(1, 0ull, 0)) {
return;
}
}
// Exposed a bug in the fuzzer.
TEST(PacketProtocolFuzzed, _d9c8d575a34f511dfae936725f8a6752b910e258) {
PacketProtocolFuzzer fuzzer;
static const uint8_t block0[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block0, 1); }))) {
return;
}
static const uint8_t block1[] = {0x00};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block1, 1); }))) {
return;
}
if (!fuzzer.CompleteSend(1, 1ull, 1)) {
return;
}
static const uint8_t block2[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block2, 1); }))) {
return;
}
static const uint8_t block3[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block3, 1); }))) {
return;
}
static const uint8_t block4[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block4, 1); }))) {
return;
}
if (!fuzzer.StepTime(506ull)) {
return;
}
if (!fuzzer.StepTime(1ull)) {
return;
}
static const uint8_t block5[] = {
0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x03, 0xfa, 0x03,
0x03, 0xfa, 0xff, 0xff, 0x03, 0x03, 0xfa, 0xff, 0xff, 0x01, 0x02, 0xff,
0xff, 0xff, 0x01, 0xff, 0xff, 0x00, 0x54, 0xff, 0x28, 0xff, 0xff, 0x97,
0xff, 0xff, 0xff, 0xff, 0xe0, 0xff, 0xff, 0xbb, 0x01, 0x00, 0xff, 0x00,
0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc2, 0xff, 0xff, 0x34, 0x34,
0x34, 0x34, 0x34, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0xff, 0xff, 0x03, 0x01, 0x01, 0x01, 0x02, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
250, 255, [](uint8_t* p) { memcpy(p, block5, 250); }))) {
return;
}
}
// Found a bug with ack ordering on writes.
TEST(PacketProtocolFuzzed, _da3f40d81b8c5d0609dc83e2edeb576054c106b8) {
PacketProtocolFuzzer fuzzer;
static const uint8_t block0[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block0, 1); }))) {
return;
}
static const uint8_t block1[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block1, 1); }))) {
return;
}
static const uint8_t block2[] = {0x00};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block2, 1); }))) {
return;
}
static const uint8_t block3[] = {0xee};
if (!fuzzer.BeginSend(2,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block3, 1); }))) {
return;
}
if (!fuzzer.CompleteSend(1, 2ull, 0)) {
return;
}
static const uint8_t block4[] = {0xee};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block4, 1); }))) {
return;
}
if (!fuzzer.CompleteSend(0, 0ull, 0)) {
return;
}
}
// Found a wraparound bug in tiemr code.
TEST(PacketProtocolFuzzed, _87b138d6497b8f037691af618f319455c6f5a3b0) {
PacketProtocolFuzzer fuzzer;
static const uint8_t block0[] = {0x01, 0x01, 0x01, 0x01, 0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
5, 1, [](uint8_t* p) { memcpy(p, block0, 5); }))) {
return;
}
static const uint8_t block1[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block1, 1); }))) {
return;
}
static const uint8_t block2[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block2, 1); }))) {
return;
}
static const uint8_t block3[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block3, 1); }))) {
return;
}
static const uint8_t block4[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block4, 1); }))) {
return;
}
static const uint8_t block5[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block5, 1); }))) {
return;
}
static const uint8_t block6[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block6, 1); }))) {
return;
}
static const uint8_t block7[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block7, 1); }))) {
return;
}
static const uint8_t block8[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block8, 1); }))) {
return;
}
static const uint8_t block9[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block9, 1); }))) {
return;
}
static const uint8_t block10[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block10, 1); }))) {
return;
}
static const uint8_t block11[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block11, 1); }))) {
return;
}
static const uint8_t block12[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block12, 1); }))) {
return;
}
static const uint8_t block13[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block13, 1); }))) {
return;
}
static const uint8_t block14[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block14, 1); }))) {
return;
}
static const uint8_t block15[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block15, 1); }))) {
return;
}
static const uint8_t block16[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block16, 1); }))) {
return;
}
static const uint8_t block17[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block17, 1); }))) {
return;
}
static const uint8_t block18[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block18, 1); }))) {
return;
}
static const uint8_t block19[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block19, 1); }))) {
return;
}
static const uint8_t block20[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block20, 1); }))) {
return;
}
static const uint8_t block21[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block21, 1); }))) {
return;
}
static const uint8_t block22[] = {};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
0, 1, [](uint8_t* p) { memcpy(p, block22, 0); }))) {
return;
}
if (!fuzzer.CompleteSend(1, 2ull, 0)) {
return;
}
static const uint8_t block23[] = {0x02, 0x00};
if (!fuzzer.BeginSend(2,
Slice::WithInitializerAndPrefix(
2, 1, [](uint8_t* p) { memcpy(p, block23, 2); }))) {
return;
}
static const uint8_t block24[] = {0x01};
if (!fuzzer.BeginSend(2,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block24, 1); }))) {
return;
}
static const uint8_t block25[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block25, 1); }))) {
return;
}
static const uint8_t block26[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block26, 1); }))) {
return;
}
static const uint8_t block27[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block27, 1); }))) {
return;
}
static const uint8_t block28[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block28, 1); }))) {
return;
}
static const uint8_t block29[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block29, 1); }))) {
return;
}
static const uint8_t block30[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block30, 1); }))) {
return;
}
static const uint8_t block31[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block31, 1); }))) {
return;
}
static const uint8_t block32[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block32, 1); }))) {
return;
}
static const uint8_t block33[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block33, 1); }))) {
return;
}
static const uint8_t block34[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block34, 1); }))) {
return;
}
static const uint8_t block35[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block35, 1); }))) {
return;
}
static const uint8_t block36[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block36, 1); }))) {
return;
}
static const uint8_t block37[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block37, 1); }))) {
return;
}
static const uint8_t block38[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block38, 1); }))) {
return;
}
static const uint8_t block39[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block39, 1); }))) {
return;
}
static const uint8_t block40[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block40, 1); }))) {
return;
}
static const uint8_t block41[] = {
0xfe, 0xfa, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0xff, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xff,
0x07, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
255, 254, [](uint8_t* p) { memcpy(p, block41, 255); }))) {
return;
}
static const uint8_t block42[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block42, 1); }))) {
return;
}
static const uint8_t block43[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block43, 1); }))) {
return;
}
static const uint8_t block44[] = {0x01};
if (!fuzzer.BeginSend(2,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block44, 1); }))) {
return;
}
static const uint8_t block45[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block45, 1); }))) {
return;
}
static const uint8_t block46[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block46, 1); }))) {
return;
}
static const uint8_t block47[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block47, 1); }))) {
return;
}
static const uint8_t block48[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block48, 1); }))) {
return;
}
static const uint8_t block49[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block49, 1); }))) {
return;
}
static const uint8_t block50[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block50, 1); }))) {
return;
}
static const uint8_t block51[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block51, 1); }))) {
return;
}
static const uint8_t block52[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block52, 1); }))) {
return;
}
static const uint8_t block53[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block53, 1); }))) {
return;
}
static const uint8_t block54[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block54, 1); }))) {
return;
}
static const uint8_t block55[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block55, 1); }))) {
return;
}
static const uint8_t block56[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block56, 1); }))) {
return;
}
static const uint8_t block57[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block57, 1); }))) {
return;
}
static const uint8_t block58[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block58, 1); }))) {
return;
}
static const uint8_t block59[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block59, 1); }))) {
return;
}
static const uint8_t block60[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block60, 1); }))) {
return;
}
static const uint8_t block61[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block61, 1); }))) {
return;
}
static const uint8_t block62[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block62, 1); }))) {
return;
}
static const uint8_t block63[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block63, 1); }))) {
return;
}
static const uint8_t block64[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block64, 1); }))) {
return;
}
static const uint8_t block65[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block65, 1); }))) {
return;
}
static const uint8_t block66[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block66, 1); }))) {
return;
}
static const uint8_t block67[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block67, 1); }))) {
return;
}
static const uint8_t block68[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block68, 1); }))) {
return;
}
static const uint8_t block69[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block69, 1); }))) {
return;
}
static const uint8_t block70[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block70, 1); }))) {
return;
}
if (!fuzzer.StepTime(18446744073709551612ull)) {
return;
}
static const uint8_t block71[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block71, 1); }))) {
return;
}
static const uint8_t block72[] = {0x00};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block72, 1); }))) {
return;
}
}
// Exposed a bug with too many outstanding sends.
TEST(PacketProtocolFuzzed, _ffaebbd1370c62dee2d0c6f85553d47a88e6c320) {
PacketProtocolFuzzer fuzzer;
static const uint8_t block0[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block0, 1); }))) {
return;
}
static const uint8_t block1[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block1, 1); }))) {
return;
}
static const uint8_t block2[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block2, 1); }))) {
return;
}
static const uint8_t block3[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block3, 1); }))) {
return;
}
static const uint8_t block4[] = {
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x28, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x27, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
129, 1, [](uint8_t* p) { memcpy(p, block4, 129); }))) {
return;
}
static const uint8_t block5[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block5, 1); }))) {
return;
}
static const uint8_t block6[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block6, 1); }))) {
return;
}
static const uint8_t block7[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block7, 1); }))) {
return;
}
static const uint8_t block8[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block8, 1); }))) {
return;
}
static const uint8_t block9[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block9, 1); }))) {
return;
}
static const uint8_t block10[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 5, [](uint8_t* p) { memcpy(p, block10, 1); }))) {
return;
}
static const uint8_t block11[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block11, 1); }))) {
return;
}
static const uint8_t block12[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block12, 1); }))) {
return;
}
static const uint8_t block13[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 0, [](uint8_t* p) { memcpy(p, block13, 1); }))) {
return;
}
static const uint8_t block14[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block14, 1); }))) {
return;
}
static const uint8_t block15[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block15, 1); }))) {
return;
}
static const uint8_t block16[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block16, 1); }))) {
return;
}
static const uint8_t block17[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block17, 1); }))) {
return;
}
static const uint8_t block18[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block18, 1); }))) {
return;
}
static const uint8_t block19[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block19, 1); }))) {
return;
}
static const uint8_t block20[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block20, 1); }))) {
return;
}
static const uint8_t block21[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block21, 1); }))) {
return;
}
static const uint8_t block22[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block22, 1); }))) {
return;
}
static const uint8_t block23[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block23, 1); }))) {
return;
}
static const uint8_t block24[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block24, 1); }))) {
return;
}
static const uint8_t block25[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block25, 1); }))) {
return;
}
static const uint8_t block26[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block26, 1); }))) {
return;
}
static const uint8_t block27[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block27, 1); }))) {
return;
}
static const uint8_t block28[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block28, 1); }))) {
return;
}
static const uint8_t block29[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block29, 1); }))) {
return;
}
static const uint8_t block30[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block30, 1); }))) {
return;
}
static const uint8_t block31[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block31, 1); }))) {
return;
}
static const uint8_t block32[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block32, 1); }))) {
return;
}
static const uint8_t block33[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block33, 1); }))) {
return;
}
static const uint8_t block34[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block34, 1); }))) {
return;
}
static const uint8_t block35[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 0, [](uint8_t* p) { memcpy(p, block35, 1); }))) {
return;
}
static const uint8_t block36[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block36, 1); }))) {
return;
}
static const uint8_t block37[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block37, 1); }))) {
return;
}
static const uint8_t block38[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block38, 1); }))) {
return;
}
static const uint8_t block39[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block39, 1); }))) {
return;
}
static const uint8_t block40[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block40, 1); }))) {
return;
}
static const uint8_t block41[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block41, 1); }))) {
return;
}
static const uint8_t block42[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block42, 1); }))) {
return;
}
static const uint8_t block43[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block43, 1); }))) {
return;
}
static const uint8_t block44[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block44, 1); }))) {
return;
}
static const uint8_t block45[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block45, 1); }))) {
return;
}
static const uint8_t block46[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block46, 1); }))) {
return;
}
static const uint8_t block47[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block47, 1); }))) {
return;
}
static const uint8_t block48[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block48, 1); }))) {
return;
}
static const uint8_t block49[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block49, 1); }))) {
return;
}
static const uint8_t block50[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block50, 1); }))) {
return;
}
static const uint8_t block51[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block51, 1); }))) {
return;
}
static const uint8_t block52[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block52, 1); }))) {
return;
}
static const uint8_t block53[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block53, 1); }))) {
return;
}
static const uint8_t block54[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block54, 1); }))) {
return;
}
static const uint8_t block55[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block55, 1); }))) {
return;
}
static const uint8_t block56[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block56, 1); }))) {
return;
}
static const uint8_t block57[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block57, 1); }))) {
return;
}
static const uint8_t block58[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block58, 1); }))) {
return;
}
static const uint8_t block59[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block59, 1); }))) {
return;
}
static const uint8_t block60[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block60, 1); }))) {
return;
}
static const uint8_t block61[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block61, 1); }))) {
return;
}
static const uint8_t block62[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block62, 1); }))) {
return;
}
static const uint8_t block63[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block63, 1); }))) {
return;
}
static const uint8_t block64[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block64, 1); }))) {
return;
}
static const uint8_t block65[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block65, 1); }))) {
return;
}
static const uint8_t block66[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 0, [](uint8_t* p) { memcpy(p, block66, 1); }))) {
return;
}
static const uint8_t block67[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block67, 1); }))) {
return;
}
static const uint8_t block68[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block68, 1); }))) {
return;
}
static const uint8_t block69[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block69, 1); }))) {
return;
}
static const uint8_t block70[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block70, 1); }))) {
return;
}
static const uint8_t block71[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block71, 1); }))) {
return;
}
static const uint8_t block72[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block72, 1); }))) {
return;
}
static const uint8_t block73[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block73, 1); }))) {
return;
}
static const uint8_t block74[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block74, 1); }))) {
return;
}
static const uint8_t block75[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block75, 1); }))) {
return;
}
static const uint8_t block76[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block76, 1); }))) {
return;
}
static const uint8_t block77[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block77, 1); }))) {
return;
}
static const uint8_t block78[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block78, 1); }))) {
return;
}
static const uint8_t block79[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block79, 1); }))) {
return;
}
static const uint8_t block80[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block80, 1); }))) {
return;
}
static const uint8_t block81[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block81, 1); }))) {
return;
}
static const uint8_t block82[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block82, 1); }))) {
return;
}
static const uint8_t block83[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block83, 1); }))) {
return;
}
static const uint8_t block84[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block84, 1); }))) {
return;
}
static const uint8_t block85[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block85, 1); }))) {
return;
}
static const uint8_t block86[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block86, 1); }))) {
return;
}
static const uint8_t block87[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block87, 1); }))) {
return;
}
static const uint8_t block88[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block88, 1); }))) {
return;
}
static const uint8_t block89[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block89, 1); }))) {
return;
}
static const uint8_t block90[] = {0x3a};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block90, 1); }))) {
return;
}
static const uint8_t block91[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block91, 1); }))) {
return;
}
static const uint8_t block92[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block92, 1); }))) {
return;
}
static const uint8_t block93[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block93, 1); }))) {
return;
}
static const uint8_t block94[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block94, 1); }))) {
return;
}
static const uint8_t block95[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block95, 1); }))) {
return;
}
static const uint8_t block96[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block96, 1); }))) {
return;
}
static const uint8_t block97[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block97, 1); }))) {
return;
}
static const uint8_t block98[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block98, 1); }))) {
return;
}
static const uint8_t block99[] = {0x01};
if (!fuzzer.BeginSend(1,
Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block99, 1); }))) {
return;
}
static const uint8_t block100[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block100, 1); }))) {
return;
}
static const uint8_t block101[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block101, 1); }))) {
return;
}
static const uint8_t block102[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block102, 1); }))) {
return;
}
static const uint8_t block103[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block103, 1); }))) {
return;
}
static const uint8_t block104[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block104, 1); }))) {
return;
}
static const uint8_t block105[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block105, 1); }))) {
return;
}
static const uint8_t block106[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block106, 1); }))) {
return;
}
static const uint8_t block107[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block107, 1); }))) {
return;
}
static const uint8_t block108[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block108, 1); }))) {
return;
}
static const uint8_t block109[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block109, 1); }))) {
return;
}
static const uint8_t block110[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block110, 1); }))) {
return;
}
static const uint8_t block111[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block111, 1); }))) {
return;
}
static const uint8_t block112[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block112, 1); }))) {
return;
}
static const uint8_t block113[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block113, 1); }))) {
return;
}
static const uint8_t block114[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block114, 1); }))) {
return;
}
static const uint8_t block115[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block115, 1); }))) {
return;
}
static const uint8_t block116[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block116, 1); }))) {
return;
}
static const uint8_t block117[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block117, 1); }))) {
return;
}
static const uint8_t block118[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block118, 1); }))) {
return;
}
static const uint8_t block119[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block119, 1); }))) {
return;
}
static const uint8_t block120[] = {};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
0, 1, [](uint8_t* p) { memcpy(p, block120, 0); }))) {
return;
}
static const uint8_t block121[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block121, 1); }))) {
return;
}
static const uint8_t block122[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block122, 1); }))) {
return;
}
static const uint8_t block123[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block123, 1); }))) {
return;
}
static const uint8_t block124[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block124, 1); }))) {
return;
}
static const uint8_t block125[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block125, 1); }))) {
return;
}
static const uint8_t block126[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block126, 1); }))) {
return;
}
static const uint8_t block127[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block127, 1); }))) {
return;
}
static const uint8_t block128[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block128, 1); }))) {
return;
}
static const uint8_t block129[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block129, 1); }))) {
return;
}
static const uint8_t block130[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block130, 1); }))) {
return;
}
static const uint8_t block131[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block131, 1); }))) {
return;
}
static const uint8_t block132[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block132, 1); }))) {
return;
}
static const uint8_t block133[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block133, 1); }))) {
return;
}
static const uint8_t block134[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block134, 1); }))) {
return;
}
static const uint8_t block135[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block135, 1); }))) {
return;
}
static const uint8_t block136[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block136, 1); }))) {
return;
}
static const uint8_t block137[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block137, 1); }))) {
return;
}
static const uint8_t block138[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block138, 1); }))) {
return;
}
static const uint8_t block139[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block139, 1); }))) {
return;
}
static const uint8_t block140[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block140, 1); }))) {
return;
}
static const uint8_t block141[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block141, 1); }))) {
return;
}
static const uint8_t block142[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block142, 1); }))) {
return;
}
static const uint8_t block143[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block143, 1); }))) {
return;
}
static const uint8_t block144[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block144, 1); }))) {
return;
}
static const uint8_t block145[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block145, 1); }))) {
return;
}
static const uint8_t block146[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block146, 1); }))) {
return;
}
static const uint8_t block147[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block147, 1); }))) {
return;
}
static const uint8_t block148[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block148, 1); }))) {
return;
}
static const uint8_t block149[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block149, 1); }))) {
return;
}
static const uint8_t block150[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block150, 1); }))) {
return;
}
static const uint8_t block151[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 0, [](uint8_t* p) { memcpy(p, block151, 1); }))) {
return;
}
static const uint8_t block152[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block152, 1); }))) {
return;
}
static const uint8_t block153[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block153, 1); }))) {
return;
}
static const uint8_t block154[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block154, 1); }))) {
return;
}
static const uint8_t block155[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block155, 1); }))) {
return;
}
static const uint8_t block156[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block156, 1); }))) {
return;
}
static const uint8_t block157[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block157, 1); }))) {
return;
}
static const uint8_t block158[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block158, 1); }))) {
return;
}
static const uint8_t block159[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block159, 1); }))) {
return;
}
static const uint8_t block160[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block160, 1); }))) {
return;
}
static const uint8_t block161[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block161, 1); }))) {
return;
}
static const uint8_t block162[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block162, 1); }))) {
return;
}
static const uint8_t block163[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block163, 1); }))) {
return;
}
static const uint8_t block164[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block164, 1); }))) {
return;
}
static const uint8_t block165[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block165, 1); }))) {
return;
}
static const uint8_t block166[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block166, 1); }))) {
return;
}
static const uint8_t block167[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block167, 1); }))) {
return;
}
static const uint8_t block168[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block168, 1); }))) {
return;
}
static const uint8_t block169[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block169, 1); }))) {
return;
}
static const uint8_t block170[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block170, 1); }))) {
return;
}
static const uint8_t block171[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block171, 1); }))) {
return;
}
static const uint8_t block172[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block172, 1); }))) {
return;
}
static const uint8_t block173[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block173, 1); }))) {
return;
}
static const uint8_t block174[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block174, 1); }))) {
return;
}
static const uint8_t block175[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block175, 1); }))) {
return;
}
static const uint8_t block176[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block176, 1); }))) {
return;
}
static const uint8_t block177[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block177, 1); }))) {
return;
}
static const uint8_t block178[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block178, 1); }))) {
return;
}
static const uint8_t block179[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block179, 1); }))) {
return;
}
static const uint8_t block180[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block180, 1); }))) {
return;
}
static const uint8_t block181[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block181, 1); }))) {
return;
}
static const uint8_t block182[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block182, 1); }))) {
return;
}
static const uint8_t block183[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block183, 1); }))) {
return;
}
static const uint8_t block184[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block184, 1); }))) {
return;
}
static const uint8_t block185[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block185, 1); }))) {
return;
}
static const uint8_t block186[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block186, 1); }))) {
return;
}
static const uint8_t block187[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block187, 1); }))) {
return;
}
static const uint8_t block188[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block188, 1); }))) {
return;
}
static const uint8_t block189[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block189, 1); }))) {
return;
}
static const uint8_t block190[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block190, 1); }))) {
return;
}
static const uint8_t block191[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block191, 1); }))) {
return;
}
static const uint8_t block192[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block192, 1); }))) {
return;
}
static const uint8_t block193[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block193, 1); }))) {
return;
}
static const uint8_t block194[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block194, 1); }))) {
return;
}
static const uint8_t block195[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block195, 1); }))) {
return;
}
static const uint8_t block196[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block196, 1); }))) {
return;
}
static const uint8_t block197[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block197, 1); }))) {
return;
}
static const uint8_t block198[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block198, 1); }))) {
return;
}
static const uint8_t block199[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block199, 1); }))) {
return;
}
static const uint8_t block200[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block200, 1); }))) {
return;
}
static const uint8_t block201[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block201, 1); }))) {
return;
}
static const uint8_t block202[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block202, 1); }))) {
return;
}
static const uint8_t block203[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block203, 1); }))) {
return;
}
static const uint8_t block204[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block204, 1); }))) {
return;
}
static const uint8_t block205[] = {0x00};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block205, 1); }))) {
return;
}
static const uint8_t block206[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block206, 1); }))) {
return;
}
static const uint8_t block207[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block207, 1); }))) {
return;
}
static const uint8_t block208[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block208, 1); }))) {
return;
}
static const uint8_t block209[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block209, 1); }))) {
return;
}
static const uint8_t block210[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block210, 1); }))) {
return;
}
static const uint8_t block211[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block211, 1); }))) {
return;
}
static const uint8_t block212[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block212, 1); }))) {
return;
}
static const uint8_t block213[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block213, 1); }))) {
return;
}
static const uint8_t block214[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block214, 1); }))) {
return;
}
static const uint8_t block215[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block215, 1); }))) {
return;
}
static const uint8_t block216[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block216, 1); }))) {
return;
}
static const uint8_t block217[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block217, 1); }))) {
return;
}
static const uint8_t block218[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block218, 1); }))) {
return;
}
static const uint8_t block219[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block219, 1); }))) {
return;
}
static const uint8_t block220[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block220, 1); }))) {
return;
}
static const uint8_t block221[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block221, 1); }))) {
return;
}
static const uint8_t block222[] = {0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
17, 1, [](uint8_t* p) { memcpy(p, block222, 17); }))) {
return;
}
static const uint8_t block223[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block223, 1); }))) {
return;
}
static const uint8_t block224[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block224, 1); }))) {
return;
}
static const uint8_t block225[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block225, 1); }))) {
return;
}
static const uint8_t block226[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block226, 1); }))) {
return;
}
static const uint8_t block227[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block227, 1); }))) {
return;
}
static const uint8_t block228[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block228, 1); }))) {
return;
}
static const uint8_t block229[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block229, 1); }))) {
return;
}
static const uint8_t block230[] = {0x01};
if (!fuzzer.BeginSend(
1, Slice::WithInitializerAndPrefix(
1, 1, [](uint8_t* p) { memcpy(p, block230, 1); }))) {
return;
}
static const uint8_t block231[] = {0x01