]> git.feebdaed.xyz Git - 0xmirror/grpc.git/commitdiff
[client-fuzzer] Fix crash (#41238)
authorCraig Tiller <ctiller@google.com>
Tue, 16 Dec 2025 19:56:47 +0000 (11:56 -0800)
committerCopybara-Service <copybara-worker@google.com>
Tue, 16 Dec 2025 19:59:53 +0000 (11:59 -0800)
Closes #41238

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/41238 from ctiller:crashypoo2 aed422fff37c91fd06edf4a36e2336f50f01c0b2
PiperOrigin-RevId: 845376005

src/core/lib/channel/promise_based_filter.cc
test/core/end2end/fuzzers/client_fuzzer.cc

index 369b6b6dbc3a0d23f9215a6da3bae6af2c1dea73..1fa1ce3de99fdf1874beb0e10c69a3c49be0a3bd 100644 (file)
@@ -1305,6 +1305,7 @@ ClientCallData::ClientCallData(grpc_call_element* elem,
   if (server_initial_metadata_pipe() != nullptr) {
     recv_initial_metadata_ = arena()->New<RecvInitialMetadata>();
   }
+  SourceConstructed();
 }
 
 ClientCallData::~ClientCallData() {
@@ -1995,6 +1996,7 @@ ServerCallData::ServerCallData(grpc_call_element* elem,
   GRPC_CLOSURE_INIT(&recv_trailing_metadata_ready_,
                     RecvTrailingMetadataReadyCallback, this,
                     grpc_schedule_on_exec_ctx);
+  SourceConstructed();
 }
 
 ServerCallData::~ServerCallData() {
index 6c33422ac988010e73d4486e27674f7f224d1a02..abb2a556d7c1ac96b8dc301d020ce536303fed31 100644 (file)
@@ -129,5 +129,27 @@ TEST(ClientFuzzerTest, RunChannelzCallTracerRegression) {
                            config_vars { channelz_call_tracer: true })pb"));
 }
 
+TEST(ClientFuzzerTest, RunChannelzCallTracerRegression2) {
+  Fuzz(ParseTestProto(R"pb(network_input {
+                             single_read_bytes: "K"
+                             connect_timeout_ms: -1
+                             endpoint_config { args { key: "\000" str: "" } }
+                           }
+                           api_actions {
+                             create_call {
+                               propagation_mask: 1
+                               method { value: "<" }
+                             }
+                           }
+                           config_vars {
+                             verbosity: "debug"
+                             dns_resolver: "native"
+                             trace: ""
+                             channelz_call_tracer: true
+                             channelz_max_orphaned_nodes: 1
+                           }
+                           channel_args {})pb"));
+}
+
 }  // namespace testing
 }  // namespace grpc_core