]> Cypherpunks repositories - gostls13.git/commit
io: prevent seeking to position prior to offsetwrite.base
authorJabar Asadi <jasadi@d2iq.com>
Fri, 19 May 2023 09:31:25 +0000 (09:31 +0000)
committerGopher Robot <gobot@golang.org>
Sat, 20 May 2023 00:46:20 +0000 (00:46 +0000)
commitaeb0644bd33e67f24e2411a651ac9ff72ddc96b4
tree3a8e3564cf7c69e42de8c0ff6e2b6ae75d56ba84
parenta0d53199b710bf7cbb8516c2d4ca0e02e15658e0
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: a29d890d6f32fd5a1ecef84d012b8447b406e2e2
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>
src/io/io.go
src/io/io_test.go