From 1cfe7c92b26706dd9ac7ff3603d2c447588308de Mon Sep 17 00:00:00 2001 From: yanjunxiang-google <78807980+yanjunxiang-google@users.noreply.github.com> Date: Wed, 20 Mar 2024 12:19:49 -0400 Subject: [PATCH] Fixing fuzzer test crash in route_fuzz_test.cc. (#32987) Signed-off-by: Yanjun Xiang --- ...erfuzz-testcase-minimized-route_fuzz_test-6160522024124416 | 1 + test/common/router/route_fuzz_test.cc | 4 ++++ 2 files changed, 5 insertions(+) create mode 100644 test/common/router/route_corpus/clusterfuzz-testcase-minimized-route_fuzz_test-6160522024124416 diff --git a/test/common/router/route_corpus/clusterfuzz-testcase-minimized-route_fuzz_test-6160522024124416 b/test/common/router/route_corpus/clusterfuzz-testcase-minimized-route_fuzz_test-6160522024124416 new file mode 100644 index 000000000000..4ebb1b44c22e --- /dev/null +++ b/test/common/router/route_corpus/clusterfuzz-testcase-minimized-route_fuzz_test-6160522024124416 @@ -0,0 +1 @@ +config { e: " " virtual_hosts { name: " " domains: " " matcher { matcher_list { matchers { predicate { single_predicate { input { name: " " typed_config { type_url: " /envoy.type.matcher.v3.HttpRequestHeaderMatchInput" e: " " } } value_match { custom { name: " " typed_config { l: " " e: " " } } } } } on_match { action { name: " " typed_config { type_url: "/envoy.config.route.v3.Route" value: "\n\002b\000\032 " } } } } } on_no_match { action { name: " " typed_config { type_url: "/envoy.config.route.v3.Route" value: "\n\002b\000\032 " } } } } } } e: 4 \ No newline at end of file diff --git a/test/common/router/route_fuzz_test.cc b/test/common/router/route_fuzz_test.cc index 93d545f9b58e..184795a864d6 100644 --- a/test/common/router/route_fuzz_test.cc +++ b/test/common/router/route_fuzz_test.cc @@ -140,6 +140,10 @@ DEFINE_PROTO_FUZZER(const test::common::router::RouteTestCase& input) { static NiceMock stream_info; static NiceMock factory_context; static ScopedInjectableLoader engine(std::make_unique()); + static ScopedInjectableLoader tls_inject( + std::make_unique()); + static ScopedInjectableLoader api_inject(std::make_unique()); + try { if (!validateConfig(input)) { return;