Fix use after free in MasqueServerBackend

This fixes some crashes in CloseBackendResponseStream that
were due to the fact that QuicConnection gets destructed before
the QuicSimpleServerBackend::RequestHandler is. Since we only
need to hold this memory to ensure the request handler is tracked,
we instead keep a vector of them per connection and clear the
entire vector when the connection goes away.

This code isn't used in production.

PiperOrigin-RevId: 360225184
Change-Id: I661ca92d2039adcc095eb4cd1a8ec6fa3ad9682b
2 files changed
tree: 9dbe65ce86b2d7dbfa6751ae33a7424b481d20ee
  1. common/
  2. epoll_server/
  3. http2/
  4. quic/
  5. spdy/
  6. CONTRIBUTING.md
  7. LICENSE
  8. README.md
README.md

QUICHE

QUICHE (QUIC, Http/2, Etc) is Google‘s implementation of QUIC and related protocols. It powers Chromium as well as Google’s QUIC servers and some other projects. QUICHE is only supported on little-endian platforms.

Code can be viewed in CodeSearch in Quiche and is imported into Chromium.