apple / apple/swift-nio-http2

Remote pushes with invalid headers leave a stream dangling

Open
#333 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Swift
Stars
503
Forks
103
Avg merge
18h 8m
Merged PRs (30d)
4

Description

When we receive a push promise, we first create the promised stream and then receive the frame. This is fine, but if receiving the frame produces an error (e.g. because the headers are invalid) then we never delete the stream again. That's no good.

Contributor guide

Open the contributing guide

Research direction

Trace the push-promise handling path where the promised stream is created before the frame is received, then inspect the error path for invalid headers. Confirm that a frame-receive failure removes the promised stream, and add a regression test showing that no dangling stream remains.

Written by the indexing model from the issue text.

Assessment

Tech stack
swift
Domain
networking
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.