plugin/file: fix file leak (#5687)
This commit is contained in:
parent
26aae951e7
commit
c6a543551e
1 changed files with 18 additions and 9 deletions
|
@ -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() {
|
||||
|
|
Loading…
Add table
Reference in a new issue