diff --git a/source/server/connection_handler_impl.cc b/source/server/connection_handler_impl.cc index b30ed366ed0d4..c196947664033 100644 --- a/source/server/connection_handler_impl.cc +++ b/source/server/connection_handler_impl.cc @@ -264,6 +264,9 @@ void ConnectionHandlerImpl::ActiveTcpSocket::newConnection() { socket_->setDetectedTransportProtocol( Extensions::TransportSockets::TransportProtocolNames::get().RawBuffer); } + // Erase accept filter states because accept filters may not get the opportunity to clean up. + // Particularly the assigned events need to reset before assigning new events in the follow up. + accept_filters_.clear(); // Create a new connection on this listener. listener_.newConnection(std::move(socket_)); }