diff --git a/zip.go b/zip.go index c10b93cf..30e7b5b1 100644 --- a/zip.go +++ b/zip.go @@ -202,6 +202,7 @@ func (z Zip) Extract(ctx context.Context, sourceArchive io.Reader, pathsInArchiv skipDirs := skipList{} for i, f := range zr.File { + f := f // make a copy for the Open closure if err := ctx.Err(); err != nil { return err // honor context cancellation }