Skip to content

fix: dont budget DATA frames that are EOS - #940

Merged
seanmonstar merged 1 commit into
masterfrom
sean/nplklmoztmrs
Aug 19, 2026
Merged

fix: dont budget DATA frames that are EOS#940
seanmonstar merged 1 commit into
masterfrom
sean/nplklmoztmrs

Conversation

@seanmonstar

Copy link
Copy Markdown
Member

Closes #939

GlenDC added a commit to plabayo/rama that referenced this pull request Aug 19, 2026
h2@ccf15931c7a28a0fb435612f7d47ed9c5c44dec6
Author: Sean McArthur <sean@seanmonstar.com>

    fix: dont budget DATA frames that are EOS

    Closes h2#_939

Upstream PR: hyperium/h2#940

Co-authored-by: Sean McArthur <sean@seanmonstar.com>
@seanmonstar
seanmonstar merged commit c12d782 into master Aug 19, 2026
6 checks passed
@seanmonstar
seanmonstar deleted the sean/nplklmoztmrs branch August 19, 2026 16:12
Sruhvx-jpg added a commit to Sruhvx-jpg/h2 that referenced this pull request Aug 23, 2026
Problem

HTTP/2 flow control limits DATA payload bytes, but not the framing overhead
from excessive numbers of small frames. A peer could fragment data into many
tiny frames, causing disproportionate memory usage from queued events while
remaining within flow-control windows.

Solution

Backport the framing overhead budget and empty frame handling from master
(hyperium#935, hyperium#940, hyperium#942, hyperium#945, hyperium#946) to the 0.3.x maintenance branch.

Validation

Ran the full test suite and added regression integration tests in stream_states.rs.
Skyluker4 pushed a commit to XeroSecInc/h2 that referenced this pull request Aug 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Spurious GoAway(b"too_many_data_frames", ENHANCE_YOUR_CALM, Library)

1 participant