commit | 065cf7ba2467924044800341704ad654f62c4e6f | [log] [tgz] |
---|---|---|
author | ardnew <andrew@ardnew.com> | Wed May 25 21:39:43 2022 +0000 |
committer | Gopher Robot <gobot@golang.org> | Thu May 26 00:47:31 2022 +0000 |
tree | 85d2e7ce223453811db2e73aefc67a2b87dae515 | |
parent | e5f449aeb1717c7a4156811d5d65510fee9d1530 [diff] |
x/term: prevent invalid indexing into stRingBuffer The exported method (*stRingBuffer).NthPreviousEntry does not correctly handle arguments with negative values. A negative value will index beyond slice boundaries in most cases (unless size = max = INT_MAX) and cause an access violation at runtime. This change adds a condition to return ok = false for all negatively valued arguments, which is the same behavior that occurs with positively valued arguments exceeding buffer length. Adding the capability to index backwards (from the end of the slice) does not seem like the intent of this method, and it would not improve or simplify existing functionality. It would also be inconsistent with the handling of positive values out-of-bounds. Change-Id: Ib4113330f0044dd5b73c7d75c5cdcdd27d60ee77 GitHub-Last-Rev: fec355f53687dfbee962f611297355059efabd48 GitHub-Pull-Request: golang/term#8 Reviewed-on: https://go-review.googlesource.com/c/term/+/408754 Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> Auto-Submit: Ian Lance Taylor <iant@golang.org> Reviewed-by: Ian Lance Taylor <iant@google.com> Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@google.com> Auto-Submit: Ian Lance Taylor <iant@google.com>
This repository provides Go terminal and console support packages.
The easiest way to install is to run go get -u golang.org/x/term
. You can also manually git clone the repository to $GOPATH/src/golang.org/x/term
.
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 term repository is located at https://github.com/golang/go/issues. Prefix your issue with “x/term:” in the subject line, so it is easy to find.