pkg/filenotify: poller.Add: fix fd leaks on err

In case of errors, the file descriptor is never closed. Fix it.

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
This commit is contained in:
Kir Kolyshkin 2018-08-29 13:46:46 -07:00
parent 64b7575802
commit 88bcf1573c

View file

@ -54,6 +54,7 @@ func (w *filePoller) Add(name string) error {
}
fi, err := os.Stat(name)
if err != nil {
f.Close()
return err
}
@ -61,6 +62,7 @@ func (w *filePoller) Add(name string) error {
w.watches = make(map[string]chan struct{})
}
if _, exists := w.watches[name]; exists {
f.Close()
return fmt.Errorf("watch exists")
}
chClose := make(chan struct{})