Fix coalesced packet processing

Make sure we correctly process all coalesced packets without modifying the collection while we're iterating on it.

This issue was found by clusterfuzz:
https://bugs.chromium.org/p/chromium/issues/detail?id=990001

I've confirmed that the new test fails with the old code and passes with the fix, and that the fuzzer no longer crashes.

gfe-relnote: fix coalesced packet processing, protected by disabled v99 flag
PiperOrigin-RevId: 261433275
Change-Id: Iea1edf70fc84873fc7fe2f05c749759b2c5a6c9b
2 files changed
tree: a38f7502c845f37da447ecd54d328383152f210e
  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.

The code is currently in process of being moved from https://cs.chromium.org/chromium/src/net/third_party/ into this repository. Please excuse our appearance while we're under construction.