commit | 05086a79fc73b01ecd1d1c303fc3f4a1311afc17 | [log] [tgz] |
---|---|---|
author | Damien Neil <dneil@google.com> | Tue Oct 31 08:49:27 2023 -0700 |
committer | Damien Neil <dneil@google.com> | Tue Oct 31 18:01:49 2023 +0000 |
tree | d1cc7c70f1f4841e78bdb4881664e953d9e31f09 | |
parent | 0526b49b345664cadb8ea67dd4b7c02964c55b3a [diff] |
quic: fix panic when handling resent CRYPTO data When pipe.discardBefore was called with an offset greater than the current pipe.end position, we would update pipe.start but not pipe.end, leaving the pipe in an inconsistent state where start > end. This could then subsequently cause a panic when writing data that lies before pipe.start. This sequence occurs when handling several in-order CRYPTO frames (where we skip writing in-order data to the pipe, but still call discardBefore), followed by an out-of-order frame containing resent data. Change-Id: Ibac0caad53cd30dac1cd4719a825226809872d96 Reviewed-on: https://go-review.googlesource.com/c/net/+/538775 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Jonathan Amsterdam <jba@google.com>
This repository holds supplementary Go networking libraries.
The easiest way to install is to run go get -u golang.org/x/net
. You can also manually git clone the repository to $GOPATH/src/golang.org/x/net
.
This repository uses Gerrit for code changes. To learn how to submit changes to this repository, see https://golang.org/doc/contribute.html. The main issue tracker for the net repository is located at https://github.com/golang/go/issues. Prefix your issue with “x/net:” in the subject line, so it is easy to find.