aboutsummaryrefslogtreecommitdiff
path: root/src/archive
diff options
context:
space:
mode:
authorLE Manh Cuong <cuong.manhle.vn@gmail.com>2019-01-05 23:39:24 +0700
committerBrad Fitzpatrick <bradfitz@golang.org>2019-01-07 04:23:06 +0000
commitf7248ba75321ace8e76f9723e9ef3badea2bdd4d (patch)
tree2070b7ade89fe58e39cce46345cbe38eb91e1779 /src/archive
parent11847cb8e0dce51c29971b4d76482400633ecf70 (diff)
downloadgo-f7248ba75321ace8e76f9723e9ef3badea2bdd4d.tar.gz
go-f7248ba75321ace8e76f9723e9ef3badea2bdd4d.zip
archive/zip: fix casting overflow on 32-bit arch
Fixes #29555 Change-Id: Ia3c0dd65bcf94dea3f6e04c23c1fe5d6d0b2c1e9 Reviewed-on: https://go-review.googlesource.com/c/156399 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
Diffstat (limited to 'src/archive')
-rw-r--r--src/archive/zip/zip_test.go4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/archive/zip/zip_test.go b/src/archive/zip/zip_test.go
index 50218a2bbd..3d5c759851 100644
--- a/src/archive/zip/zip_test.go
+++ b/src/archive/zip/zip_test.go
@@ -159,7 +159,7 @@ func (r *rleBuffer) Write(p []byte) (n int, err error) {
return len(p), nil
}
-func min(x, y int) int {
+func min(x, y int64) int64 {
if x < y {
return x
}
@@ -190,7 +190,7 @@ func (r *rleBuffer) ReadAt(p []byte, off int64) (n int, err error) {
if len(parts) > 0 {
skipBytes := off - parts[0].off
for _, part := range parts {
- repeat := min(int(part.n-skipBytes), len(p)-n)
+ repeat := int(min(part.n-skipBytes, int64(len(p)-n)))
memset(p[n:n+repeat], part.b)
n += repeat
if n == len(p) {