X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fhddtemp.c;h=80b3419bee76d3e96efacb242bdba4f946efc5be;hb=4dc48314be6a40b0d561d9dbf257c92f6197d15c;hp=d3772b8c5261d02f5bb515ed3fd27ce25c7faa35;hpb=4ff510ffa41e47f31c695c83f045fd79efecf5f4;p=collectd.git diff --git a/src/hddtemp.c b/src/hddtemp.c index d3772b8c..80b3419b 100644 --- a/src/hddtemp.c +++ b/src/hddtemp.c @@ -1,6 +1,6 @@ /** * collectd - src/hddtemp.c - * Copyright (C) 2005-2006 Vincent Stehlé + * Copyright (C) 2005,2006 Vincent Stehlé * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the @@ -158,6 +158,10 @@ static int hddtemp_query_daemon (char *buffer, int buffer_size) fd = -1; continue; } + + /* A socket could be opened and connecting succeeded. We're + * done. */ + break; } freeaddrinfo (ai_list); @@ -181,6 +185,7 @@ static int hddtemp_query_daemon (char *buffer, int buffer_size) syslog (LOG_ERR, "hddtemp: Error reading from socket: %s", strerror (errno)); + close (fd); return (-1); } buffer_fill += status; @@ -346,7 +351,8 @@ static void hddtemp_init (void) 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; } @@ -368,6 +374,7 @@ static void hddtemp_init (void) first_hddname = entry; } } + fclose (fh); } else DBG ("Could not open /proc/partitions: %s",