diff --git a/src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc b/src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc index 31f51a837cf..dd606c98bba 100644 --- a/src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc +++ b/src/core/ext/transport/chaotic_good/server/chaotic_good_server.cc @@ -443,13 +443,10 @@ void ChaoticGoodServerListener::ActiveConnection::HandshakingState:: Timestamp ChaoticGoodServerListener::ActiveConnection::HandshakingState:: GetConnectionDeadline() { - if (connection_->args().Contains(GRPC_ARG_SERVER_HANDSHAKE_TIMEOUT_MS)) { - return Timestamp::Now() + - connection_->args() - .GetDurationFromIntMillis(GRPC_ARG_SERVER_HANDSHAKE_TIMEOUT_MS) - .value(); - } - return Timestamp::Now() + kConnectionDeadline; + return Timestamp::Now() + + connection_->args() + .GetDurationFromIntMillis(GRPC_ARG_SERVER_HANDSHAKE_TIMEOUT_MS) + .value_or(kConnectionDeadline); } void ChaoticGoodServerListener::Orphan() { diff --git a/test/core/end2end/fuzzers/server_fuzzer_chaotic_good_corpus/clusterfuzz-testcase-minimized-server_fuzzer_chaotic_good-5907858541051904 b/test/core/end2end/fuzzers/server_fuzzer_chaotic_good_corpus/clusterfuzz-testcase-minimized-server_fuzzer_chaotic_good-5907858541051904 new file mode 100644 index 00000000000..a418ed45cec --- /dev/null +++ b/test/core/end2end/fuzzers/server_fuzzer_chaotic_good_corpus/clusterfuzz-testcase-minimized-server_fuzzer_chaotic_good-5907858541051904 @@ -0,0 +1,14 @@ +network_input { + input_segments { + segments { + header { + } + } + } +} +channel_args { + args { + key: "grpc.server_handshake_timeout_ms" + str: "65537" + } +}