]> git.ipfire.org Git - thirdparty/dhcpcd.git/commitdiff
Clean up compiler warnings from overly pedantic checking.
authorRoy Marples <roy@marples.name>
Thu, 29 Jan 2009 13:01:29 +0000 (13:01 +0000)
committerRoy Marples <roy@marples.name>
Thu, 29 Jan 2009 13:01:29 +0000 (13:01 +0000)
bind.c
common.c
dhcpcd.c
signals.c

diff --git a/bind.c b/bind.c
index 1b34ffd61e3742fca5cdedf3e3a052750b56cc41..483c74626b12ffc33ce63c1099d13fbfcd87c57e 100644 (file)
--- a/bind.c
+++ b/bind.c
@@ -79,7 +79,8 @@ daemonise(void)
                        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)
+                               syslog(LOG_ERR, "failed to notify parent: %m");
                        close(sidpipe[1]);
                        if ((fd = open(_PATH_DEVNULL, O_RDWR, 0)) != -1) {
                                dup2(fd, STDIN_FILENO);
@@ -93,7 +94,8 @@ daemonise(void)
                        signal_reset();
                        /* Wait for child to detach */
                        close(sidpipe[1]);
-                       read(sidpipe[0], &buf, 1);
+                       if (read(sidpipe[0], &buf, 1) == -1)
+                               syslog(LOG_ERR, "failed to read child: %m");
                        close(sidpipe[0]);
                        break;
        }
index 71f4e8054a241f27d994e437898ac18e0b95f45a..48f51a4eef6f6cc2670ee334d93cac7ef37d7892 100644 (file)
--- a/common.c
+++ b/common.c
@@ -94,7 +94,8 @@ again:
                }
                p = lbuf + last;
                memset(p, 0, BUFSIZ);
-               fgets(p, BUFSIZ, fp);
+               if (fgets(p, BUFSIZ, fp) == NULL)
+                       break;
                last += strlen(p);
                if (last != 0 && lbuf[last - 1] == '\n') {
                        lbuf[last - 1] = '\0';
index 8004534afe3cb9a331d68e2ba687f425f71005b7..f0aaf1bc3cb567ee36b9045fe2f85e79b25e942e 100644 (file)
--- a/dhcpcd.c
+++ b/dhcpcd.c
@@ -116,16 +116,15 @@ static pid_t
 read_pid(void)
 {
        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;
 }
 
@@ -1141,7 +1140,9 @@ handle_args(struct fd_list *fd, int argc, char **argv)
                        if (argc == 1) {
                                for (ifp = ifaces; ifp; ifp = ifp->next)
                                        len++;
-                               write(fd->fd, &len, sizeof(len));
+                               len = write(fd->fd, &len, sizeof(len));
+                               if (len != sizeof(len))
+                                       return -1;
                                for (ifp = ifaces; ifp; ifp = ifp->next)
                                        send_interface(fd->fd, ifp);
                                return 0;
@@ -1152,7 +1153,9 @@ handle_args(struct fd_list *fd, int argc, char **argv)
                                        if (strcmp(argv[opt], ifp->name) == 0)
                                                len++;
                        }
-                       write(fd->fd, &len, sizeof(len));
+                       len = write(fd->fd, &len, sizeof(len));
+                       if (len != sizeof(len))
+                               return -1;
                        opt = 0;
                        while (argv[++opt] != NULL) {
                                for (ifp = ifaces; ifp; ifp = ifp->next)
@@ -1321,7 +1324,8 @@ main(int argc, char **argv)
                options |= DHCPCD_MASTER;
        }
 
-       chdir("/");
+       if (chdir("/") == -1)
+               syslog(LOG_ERR, "failed to chdir to /: %m");
        umask(022);
        atexit(cleanup);
 
index 64831fae624f03ac4b52dc7fdf99c987349511ca..0007b5d25c3f5f8142dfa2e807bb9b7daf6f57b7 100644 (file)
--- 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"
@@ -51,7 +52,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, "failed to write signal %d: %m", sig);
        /* Restore errno */
        errno = serrno;
 }