summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoy Marples <roy@marples.name>2009-01-29 13:09:23 +0000
committerRoy Marples <roy@marples.name>2009-01-29 13:09:23 +0000
commit2f0898a29aec284e0885e7b96a9f3f12908bdcfb (patch)
treea3d8ad19abad4e5e14f0109c8c288675af0a0655
parent8193c40c2ebdcc5065560371c89795bc1ced98ab (diff)
downloaddhcpcd-2f0898a29aec284e0885e7b96a9f3f12908bdcfb.tar.xz
Clean up compiler warnings from overly pedantic checking.
-rw-r--r--client.c6
-rw-r--r--common.c3
-rw-r--r--dhcpcd.c8
-rw-r--r--signals.c4
4 files changed, 14 insertions, 7 deletions
diff --git a/client.c b/client.c
index d599d1bb..3fd0aecd 100644
--- a/client.c
+++ b/client.c
@@ -217,7 +217,8 @@ daemonise(struct if_state *state, const struct options *options)
setsid();
/* Notify parent it's safe to exit as we've detached. */
close(sidpipe[0]);
- write(sidpipe[1], &buf, 1);
+ if (write(sidpipe[1], &buf, 1) != 1)
+ logger(LOG_ERR, "write: %s", strerror(errno));
close(sidpipe[1]);
close_fds();
break;
@@ -226,7 +227,8 @@ daemonise(struct if_state *state, const struct options *options)
signal_reset();
/* Wait for child to detach */
close(sidpipe[1]);
- read(sidpipe[0], &buf, 1);
+ if (read(sidpipe[0], &buf, 1) != 1)
+ logger(LOG_ERR, "read: %s", strerror(errno));
close(sidpipe[0]);
break;
}
diff --git a/common.c b/common.c
index 3e8d92e2..da22a5cd 100644
--- a/common.c
+++ b/common.c
@@ -69,7 +69,8 @@ get_line(char **line, size_t *len, FILE *fp)
}
p = *line + last;
memset(p, 0, BUFSIZ);
- fgets(p, BUFSIZ, fp);
+ if (fgets(p, BUFSIZ, fp) == NULL)
+ break;
last += strlen(p);
if (last && (*line)[last - 1] == '\n') {
(*line)[last - 1] = '\0';
diff --git a/dhcpcd.c b/dhcpcd.c
index 9e03605c..1c35491c 100644
--- a/dhcpcd.c
+++ b/dhcpcd.c
@@ -137,14 +137,15 @@ static pid_t
read_pid(const char *pidfile)
{
FILE *fp;
- pid_t pid = 0;
+ pid_t pid;
if ((fp = fopen(pidfile, "r")) == NULL) {
errno = ENOENT;
return 0;
}
- fscanf(fp, "%d", &pid);
+ if (fscanf(fp, "%d", &pid) != 1)
+ pid = 0;
fclose(fp);
return pid;
@@ -878,7 +879,8 @@ main(int argc, char **argv)
goto abort;
}
- chdir("/");
+ if (chdir("/") == -1)
+ logger(LOG_ERR, "chdir `/': %s", strerror(errno));
umask(022);
if (sig != 0 && !(options->options & DHCPCD_DAEMONISED)) {
diff --git a/signals.c b/signals.c
index 58679d63..daf03476 100644
--- a/signals.c
+++ b/signals.c
@@ -31,6 +31,7 @@
#include <errno.h>
#include <signal.h>
#include <string.h>
+#include <syslog.h>
#include <unistd.h>
#include "common.h"
@@ -50,7 +51,8 @@ signal_handler(int sig)
{
int serrno = errno;
- write(signal_pipe[1], &sig, sizeof(sig));
+ if (write(signal_pipe[1], &sig, sizeof(sig)) != sizeof(sig))
+ syslog(LOG_ERR, "write signal %d: %s", sig, strerror(errno));
/* Restore errno */
errno = serrno;
}