Skip to content

Commit 3fbc23a

Browse files
committed
archive/zip: lazy load file data descriptor
Fixes golang#48374 Signed-off-by: Vinicius Tinti <[email protected]>
1 parent 3bbc823 commit 3fbc23a

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

src/archive/zip/reader.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,6 @@ func (z *Reader) init(r io.ReaderAt, size int64) error {
125125
if err != nil {
126126
return err
127127
}
128-
f.readDataDescriptor()
129128
z.File = append(z.File, f)
130129
}
131130
if uint16(len(z.File)) != uint16(end.directoryRecords) { // only compare 16 bits here
@@ -789,6 +788,8 @@ func (r *Reader) Open(name string) (fs.File, error) {
789788
if e.isDir {
790789
return &openDir{e, r.openReadDir(name), 0}, nil
791790
}
791+
792+
e.file.readDataDescriptor()
792793
rc, err := e.file.Open()
793794
if err != nil {
794795
return nil, err

0 commit comments

Comments
 (0)