memcached unix socket: fix panic. Do not recreate conn inside if

closes #841
This commit is contained in:
Cameron Sparr
2016-03-21 16:22:01 -06:00
parent 69606a45e0
commit 276e7629bd
2 changed files with 8 additions and 2 deletions

View File

@@ -94,14 +94,15 @@ func (m *Memcached) gatherServer(
acc telegraf.Accumulator,
) error {
var conn net.Conn
var err error
if unix {
conn, err := net.DialTimeout("unix", address, defaultTimeout)
conn, err = net.DialTimeout("unix", address, defaultTimeout)
if err != nil {
return err
}
defer conn.Close()
} else {
_, _, err := net.SplitHostPort(address)
_, _, err = net.SplitHostPort(address)
if err != nil {
address = address + ":11211"
}
@@ -113,6 +114,10 @@ func (m *Memcached) gatherServer(
defer conn.Close()
}
if conn == nil {
return fmt.Errorf("Failed to create net connection")
}
// Extend connection
conn.SetDeadline(time.Now().Add(defaultTimeout))