diff --git a/src/hddtemp.c b/src/hddtemp.c
index a89765a73447443c2124804aac2d0373eb48a083..80b3419bee76d3e96efacb242bdba4f946efc5be 100644 (file)
--- a/src/hddtemp.c
+++ b/src/hddtemp.c
fd = -1;
continue;
}
fd = -1;
continue;
}
+
+ /* A socket could be opened and connecting succeeded. We're
+ * done. */
+ break;
}
freeaddrinfo (ai_list);
}
freeaddrinfo (ai_list);
syslog (LOG_ERR, "hddtemp: Error reading from socket: %s",
strerror (errno));
syslog (LOG_ERR, "hddtemp: Error reading from socket: %s",
strerror (errno));
+ close (fd);
return (-1);
}
buffer_fill += status;
return (-1);
}
buffer_fill += status;
if ((entry = (hddname_t *) malloc (sizeof (hddname_t))) == NULL)
{
if ((entry = (hddname_t *) malloc (sizeof (hddname_t))) == NULL)
{
- syslog (LOG_ERR, "hddtemp: malloc (%u) == NULL", sizeof (hddname_t));
+ syslog (LOG_ERR, "hddtemp: malloc (%u) == NULL",
+ (unsigned int) sizeof (hddname_t));
free (name);
continue;
}
free (name);
continue;
}
first_hddname = entry;
}
}
first_hddname = entry;
}
}
+ fclose (fh);
}
else
DBG ("Could not open /proc/partitions: %s",
}
else
DBG ("Could not open /proc/partitions: %s",