plugin/file: fix file leak (#5687)

This commit is contained in:
Yong Tang
2022-10-11 14:49:52 -04:00
committed by GitHub
parent 26aae951e7
commit c6a543551e

View File

@@ -93,17 +93,26 @@ func fileParse(c *caddy.Controller) (Zones, error) {
openErr = err
}
for i := range origins {
z[origins[i]] = NewZone(origins[i], fileName)
if openErr == nil {
reader.Seek(0, 0)
zone, err := Parse(reader, origins[i], fileName, 0)
if err != nil {
return Zones{}, err
err = func() error {
defer reader.Close()
for i := range origins {
z[origins[i]] = NewZone(origins[i], fileName)
if openErr == nil {
reader.Seek(0, 0)
zone, err := Parse(reader, origins[i], fileName, 0)
if err != nil {
return err
}
z[origins[i]] = zone
}
z[origins[i]] = zone
names = append(names, origins[i])
}
names = append(names, origins[i])
return nil
}()
if err != nil {
return Zones{}, err
}
for c.NextBlock() {