From 1723e8ce221a16b330be55aabfb6ae71100d8013 Mon Sep 17 00:00:00 2001 From: "Mark D. Roth" Date: Tue, 4 Aug 2020 08:29:25 -0700 Subject: [PATCH] Fix use-after-free bug introduced in #23581. --- src/core/lib/surface/server.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/core/lib/surface/server.cc b/src/core/lib/surface/server.cc index d66896a5a88..c94551545d1 100644 --- a/src/core/lib/surface/server.cc +++ b/src/core/lib/surface/server.cc @@ -1115,8 +1115,9 @@ void Server::ChannelData::AcceptStream(void* arg, grpc_transport* /*transport*/, void Server::ChannelData::FinishDestroy(void* cd, grpc_error* /*error*/) { auto* chand = static_cast(cd); + Server* server = chand->server_.get(); GRPC_CHANNEL_INTERNAL_UNREF(chand->channel_, "server"); - chand->server_->Unref(); + server->Unref(); } void Server::ChannelData::Destroy() {