Fix undefined behavior introduced in #16167.

pull/16207/head
Mark D. Roth 7 years ago
parent 6975fe484c
commit 95f81046dc
  1. 7
      src/core/ext/filters/client_channel/client_channel.cc

@ -578,7 +578,12 @@ static void start_transport_op_locked(void* arg, grpc_error* error_ignored) {
} else {
grpc_error* error = GRPC_ERROR_NONE;
grpc_core::LoadBalancingPolicy::PickState pick_state;
memset(&pick_state, 0, sizeof(pick_state));
pick_state.initial_metadata = nullptr;
pick_state.initial_metadata_flags = 0;
pick_state.on_complete = nullptr;
memset(&pick_state.subchannel_call_context, 0,
sizeof(pick_state.subchannel_call_context));
pick_state.user_data = nullptr;
// Pick must return synchronously, because pick_state.on_complete is null.
GPR_ASSERT(chand->lb_policy->PickLocked(&pick_state, &error));
if (pick_state.connected_subchannel != nullptr) {

Loading…
Cancel
Save