mirror of
				https://github.com/coredns/coredns.git
				synced 2025-10-31 10:13:14 -04:00 
			
		
		
		
	plugin/file: fix file leak (#5687)
This commit is contained in:
		| @@ -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() { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user