Remove btree_scheduler_fuzzer
Its implementation is incorrect (it uses exit(), and that apparently does not work for LLVM fuzzers), and its ability to find actual bugs is really limited.
PiperOrigin-RevId: 524901874
diff --git a/build/source_list.bzl b/build/source_list.bzl
index 6501eb8..3ddc596 100644
--- a/build/source_list.bzl
+++ b/build/source_list.bzl
@@ -1308,7 +1308,6 @@
]
fuzzers_srcs = [
- "common/btree_scheduler_fuzzer.cc",
"common/structured_headers_fuzzer.cc",
"quic/core/crypto/certificate_view_der_fuzzer.cc",
"quic/core/crypto/certificate_view_pem_fuzzer.cc",
diff --git a/build/source_list.gni b/build/source_list.gni
index 7d493d2..3950cd3 100644
--- a/build/source_list.gni
+++ b/build/source_list.gni
@@ -1308,7 +1308,6 @@
]
fuzzers_srcs = [
- "src/quiche/common/btree_scheduler_fuzzer.cc",
"src/quiche/common/structured_headers_fuzzer.cc",
"src/quiche/quic/core/crypto/certificate_view_der_fuzzer.cc",
"src/quiche/quic/core/crypto/certificate_view_pem_fuzzer.cc",
diff --git a/build/source_list.json b/build/source_list.json
index 1bd8736..3e8c573 100644
--- a/build/source_list.json
+++ b/build/source_list.json
@@ -1307,7 +1307,6 @@
],
"fuzzers_srcs": [
- "quiche/common/btree_scheduler_fuzzer.cc",
"quiche/common/structured_headers_fuzzer.cc",
"quiche/quic/core/crypto/certificate_view_der_fuzzer.cc",
"quiche/quic/core/crypto/certificate_view_pem_fuzzer.cc",
diff --git a/quiche/common/btree_scheduler_fuzzer.cc b/quiche/common/btree_scheduler_fuzzer.cc
deleted file mode 100644
index eb71645..0000000
--- a/quiche/common/btree_scheduler_fuzzer.cc
+++ /dev/null
@@ -1,46 +0,0 @@
-// Copyright 2023 The Chromium 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 "quiche/common/btree_scheduler.h"
-#include "quiche/common/quiche_data_reader.h"
-
-namespace {
-uint8_t ReadUint8(quiche::QuicheDataReader& reader) {
- uint8_t result;
- if (!reader.ReadUInt8(&result)) {
- exit(0);
- }
- return result;
-}
-} // namespace
-
-// Simple fuzzer that attempts to drive the scheduler into an invalid state that
-// would cause a QUICHE_BUG or a crash.
-extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data_ptr, size_t size) {
- quiche::BTreeScheduler<uint8_t, uint8_t> scheduler;
- quiche::QuicheDataReader reader(reinterpret_cast<const char*>(data_ptr),
- size);
- while (!reader.IsDoneReading()) {
- switch (ReadUint8(reader)) {
- case 0:
- (void)scheduler.Register(ReadUint8(reader), ReadUint8(reader));
- break;
- case 1:
- (void)scheduler.Unregister(ReadUint8(reader));
- break;
- case 2:
- (void)scheduler.UpdatePriority(ReadUint8(reader), ReadUint8(reader));
- break;
- case 3:
- (void)scheduler.Schedule(ReadUint8(reader));
- break;
- case 4:
- (void)scheduler.PopFront();
- break;
- default:
- return 0;
- }
- }
- return 0;
-}