go/src/io
Jabar Asadi aeb0644bd3 io: prevent seeking to position prior to offsetwrite.base
We don't want to permit writing before the start of an OffsetWriter.

One of the goals of OffsetWriter is to restrict where data
can be written.

However, this rule can be violated by WriteAt() method of OffsetWriter
as the following code shows:

f, _ := os.Create("file.txt")
owr := io.NewOffsetWriter(f, 10)
owr.Write([]byte("world"))
owr.WriteAt([]byte("hello"), -10)

Change-Id: I6c7519fea68daefa641f25130cdd9803dc8aae22
GitHub-Last-Rev: a29d890d6f
GitHub-Pull-Request: golang/go#60222
Reviewed-on: https://go-review.googlesource.com/c/go/+/495155
Run-TryBot: Ian Lance Taylor <iant@google.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
Auto-Submit: Ian Lance Taylor <iant@google.com>
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Jabar Asadi <jasadi@d2iq.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
2023-05-20 00:46:20 +00:00
..
fs all: add String for fs.{FileInfo,DirEntry} implementations 2023-05-04 16:27:35 +00:00
ioutil all: add wasip1 support 2023-04-11 20:56:32 +00:00
example_test.go io: use strings.Builder 2022-09-06 15:49:32 +00:00
export_test.go io: add OffsetWriter, NewOffsetWriter 2022-08-19 17:03:55 +00:00
io.go io: prevent seeking to position prior to offsetwrite.base 2023-05-20 00:46:20 +00:00
io_test.go io: prevent seeking to position prior to offsetwrite.base 2023-05-20 00:46:20 +00:00
multi.go all: gofmt main repo 2022-05-19 15:49:05 +00:00
multi_test.go io: use strings.Builder 2022-09-06 15:49:32 +00:00
pipe.go io: unexport internal methods 2021-08-19 09:11:02 +00:00
pipe_test.go io: add error check on pipe close functions to avoid error overwriting 2019-08-28 18:35:24 +00:00