Adds a basic fuzzer for Http2DecoderAdapter.

Future improvements could include a dictionary or corpus.

PiperOrigin-RevId: 536418050
diff --git a/build/source_list.bzl b/build/source_list.bzl
index 8122118..70cd31f 100644
--- a/build/source_list.bzl
+++ b/build/source_list.bzl
@@ -1328,6 +1328,7 @@
     "quic/core/qpack/fuzzer/qpack_round_trip_fuzzer.cc",
     "quic/test_tools/fuzzing/quic_framer_fuzzer.cc",
     "quic/test_tools/fuzzing/quic_framer_process_data_packet_fuzzer.cc",
+    "spdy/core/http2_frame_decoder_adapter_fuzzer.cc",
 ]
 cli_tools_hdrs = [
     "quic/tools/quic_server_factory.h",
diff --git a/build/source_list.gni b/build/source_list.gni
index 2510ffa..2cf1a78 100644
--- a/build/source_list.gni
+++ b/build/source_list.gni
@@ -1328,6 +1328,7 @@
     "src/quiche/quic/core/qpack/fuzzer/qpack_round_trip_fuzzer.cc",
     "src/quiche/quic/test_tools/fuzzing/quic_framer_fuzzer.cc",
     "src/quiche/quic/test_tools/fuzzing/quic_framer_process_data_packet_fuzzer.cc",
+    "src/quiche/spdy/core/http2_frame_decoder_adapter_fuzzer.cc",
 ]
 cli_tools_hdrs = [
     "src/quiche/quic/tools/quic_server_factory.h",
diff --git a/build/source_list.json b/build/source_list.json
index ecfe4e2..c501c60 100644
--- a/build/source_list.json
+++ b/build/source_list.json
@@ -1326,7 +1326,8 @@
     "quiche/quic/core/qpack/fuzzer/qpack_encoder_stream_sender_fuzzer.cc",
     "quiche/quic/core/qpack/fuzzer/qpack_round_trip_fuzzer.cc",
     "quiche/quic/test_tools/fuzzing/quic_framer_fuzzer.cc",
-    "quiche/quic/test_tools/fuzzing/quic_framer_process_data_packet_fuzzer.cc"
+    "quiche/quic/test_tools/fuzzing/quic_framer_process_data_packet_fuzzer.cc",
+    "quiche/spdy/core/http2_frame_decoder_adapter_fuzzer.cc"
   ],
   "cli_tools_hdrs": [
     "quiche/quic/tools/quic_server_factory.h",
diff --git a/quiche/spdy/core/http2_frame_decoder_adapter_fuzzer.cc b/quiche/spdy/core/http2_frame_decoder_adapter_fuzzer.cc
new file mode 100644
index 0000000..260d6c4
--- /dev/null
+++ b/quiche/spdy/core/http2_frame_decoder_adapter_fuzzer.cc
@@ -0,0 +1,13 @@
+#include <cstddef>
+#include <cstdint>
+
+#include "quiche/spdy/core/http2_frame_decoder_adapter.h"
+#include "quiche/spdy/core/spdy_no_op_visitor.h"
+
+extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
+  spdy::SpdyNoOpVisitor visitor;
+  http2::Http2DecoderAdapter decoder;
+  decoder.set_visitor(&visitor);
+  decoder.ProcessInput(reinterpret_cast<const char *>(data), size);
+  return 0;  // Always return 0; other values are reserved for future uses.
+}