Flush queued frames when processing coalesced packets

This fix mimics the code in QuicConnection:: MaybeProcessUndecryptablePackets, thanks rch@ and fayang@ for the analysis!

This issue was found by Chromium Clusterfuzz:
https://bugs.chromium.org/p/chromium/issues/detail?id=992831
I've confirmed that clusterfuzz test case 5646143163072512 no longer reproduces with the fix.

The new test fails without the fix and passes with it. More generally, increased test coverage for this area of code is tracked by b/139422067.

gfe-relnote: flush queued frames when processing coalesced packets, protected by disabled quic v99 flag
PiperOrigin-RevId: 263791562
Change-Id: I52da7342f33608488785ff646cc5faf9c9195fa6
2 files changed
tree: a1f7e1382c2bd6792ef25a86beff7058292f88c5
  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.