| commit | 64b3af9625ad94ce3f68ac1ab80733f691a49319 | [log] [tgz] |
|---|---|---|
| author | Nicholas S. Husin <nsh@golang.org> | Wed Jan 28 18:27:34 2026 -0500 |
| committer | Nicholas Husin <nsh@golang.org> | Mon Feb 02 09:54:04 2026 -0800 |
| tree | ce94e3eb23dfed370cc91fc732a5c0d091f8d365 | |
| parent | 1973e8da2d578cd964f4c1df41ed8c553f1e17b7 [diff] |
http2: prevent transport deadlock due to WINDOW_UPDATE that exceeds limit Transport currently deadlocks when receiving a WINDOW_UPDATE for a non-zero stream that increments its window beyond the 2^31-1 bytes limit. This is because endStreamError is called to end the non-zero stream, which tries to lock an already-locked mutex. Therefore, create and use endStreamErrorLocked instead, which assumes the mutex is already locked. Fixes golang/go#77331 Change-Id: Iea212f49a1f305d1bddefb8831dbaca00840870c Reviewed-on: https://go-review.googlesource.com/c/net/+/739700 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Nicholas Husin <husin@google.com> Reviewed-by: Damien Neil <dneil@google.com>
This repository holds supplementary Go networking packages.
This repository uses Gerrit for code changes. To learn how to submit changes to this repository, see https://go.dev/doc/contribute.
The git repository is https://go.googlesource.com/net.
The main issue tracker for the net repository is located at https://go.dev/issues. Prefix your issue with “x/net:” in the subject line, so it is easy to find.