Skip to content

Commit fb37ddc

Browse files
author
chenqi
committed
fix ScanZip defer in for loop
1 parent 66409d9 commit fb37ddc

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

utils/zip.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -157,24 +157,28 @@ func ScanZip(archive, tmpDir string, sizeLimit uint64, scanCall func(filename st
157157
if err != nil {
158158
return err
159159
}
160-
defer fileReader.Close()
161160

162161
targetFile, err := os.OpenFile(filePath, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, file.Mode())
163162
if err != nil {
163+
fileReader.Close()
164164
return err
165165
}
166-
defer os.Remove(filePath)
167166

168167
if _, err := io.Copy(targetFile, fileReader); err != nil {
168+
fileReader.Close()
169169
targetFile.Close()
170+
os.Remove(filePath)
170171
return err
171172
}
172173
targetFile.Close()
174+
fileReader.Close()
173175

174176
err = scanCall(filePath)
175177
if err != nil {
178+
os.Remove(filePath)
176179
return err
177180
}
181+
os.Remove(filePath)
178182
}
179183
return nil
180184
}

0 commit comments

Comments
 (0)