diff --git a/src/core/lib/surface/call.cc b/src/core/lib/surface/call.cc index 60c3bf51fe6..5f0d4a99310 100644 --- a/src/core/lib/surface/call.cc +++ b/src/core/lib/surface/call.cc @@ -2350,9 +2350,8 @@ template grpc_error_handle MakePromiseBasedCall(grpc_call_create_args* args, grpc_call** out_call) { Channel* channel = args->channel.get(); - - PromiseBasedCall* call = - arena->New(channel->call_arena_allocator()->MakeArena(), args); + auto arena = channel->call_arena_allocator()->MakeArena(); + PromiseBasedCall* call = arena->New(arena, args); *out_call = call->c_ptr(); DCHECK(Call::FromC(*out_call) == call); return absl::OkStatus();