Commit f7248ba7 authored by LE Manh Cuong's avatar LE Manh Cuong Committed by Brad Fitzpatrick

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: default avatarBrad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
parent 11847cb8
...@@ -159,7 +159,7 @@ func (r *rleBuffer) Write(p []byte) (n int, err error) { ...@@ -159,7 +159,7 @@ func (r *rleBuffer) Write(p []byte) (n int, err error) {
return len(p), nil return len(p), nil
} }
func min(x, y int) int { func min(x, y int64) int64 {
if x < y { if x < y {
return x return x
} }
...@@ -190,7 +190,7 @@ func (r *rleBuffer) ReadAt(p []byte, off int64) (n int, err error) { ...@@ -190,7 +190,7 @@ func (r *rleBuffer) ReadAt(p []byte, off int64) (n int, err error) {
if len(parts) > 0 { if len(parts) > 0 {
skipBytes := off - parts[0].off skipBytes := off - parts[0].off
for _, part := range parts { 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) memset(p[n:n+repeat], part.b)
n += repeat n += repeat
if n == len(p) { if n == len(p) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment