From 648415ee888f5e7f6fee7cc790c2e9a9c47b85c6 Mon Sep 17 00:00:00 2001 From: Vishwanath Sastry Date: Mon, 15 Apr 2024 23:24:16 -0700 Subject: [PATCH] [grpc][grpc_fuzzers] Fix for the crash reported in the bug https://buganizer.corp.google.com/issues/331838963 PiperOrigin-RevId: 625212041 --- test/core/end2end/fuzzers/api_fuzzer.cc | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/test/core/end2end/fuzzers/api_fuzzer.cc b/test/core/end2end/fuzzers/api_fuzzer.cc index 98dd58e7df5..ab506cc54fc 100644 --- a/test/core/end2end/fuzzers/api_fuzzer.cc +++ b/test/core/end2end/fuzzers/api_fuzzer.cc @@ -32,6 +32,8 @@ #include "absl/strings/str_join.h" #include "absl/strings/str_split.h" #include "absl/strings/string_view.h" +#include "absl/time/clock.h" +#include "absl/time/time.h" #include "absl/types/optional.h" #include @@ -157,9 +159,18 @@ class FuzzerDNSResolver : public grpc_core::DNSResolver { } absl::StatusOr> LookupHostnameBlocking( - absl::string_view /* name */, - absl::string_view /* default_port */) override { - GPR_ASSERT(0); + absl::string_view name, absl::string_view default_port) override { + // To mimic the resolution delay + absl::SleepFor(absl::Seconds(1)); + if (name == "server") { + std::vector addrs; + grpc_resolved_address addr; + memset(&addr, 0, sizeof(addr)); + addrs.push_back(addr); + return addrs; + } else { + return absl::UnknownError("Resolution failed"); + } } TaskHandle LookupSRV(