]> git.ipfire.org Git - thirdparty/mdadm.git/commitdiff
Don't ignore return value from read and write
authorNeilBrown <neilb@suse.com>
Fri, 24 Jul 2015 06:11:23 +0000 (16:11 +1000)
committerNeilBrown <neilb@suse.com>
Fri, 24 Jul 2015 06:11:23 +0000 (16:11 +1000)
New gcc sometimes complains about this.

Signed-off-by: NeilBrown <neilb@suse.com>
managemon.c
xmalloc.c

index ec4586b2f5fffbc39fe4d473e3f8b6da324a4331..6d1b3d859cfb9c87c7fc96fa48f0634fbf199171 100644 (file)
@@ -410,7 +410,9 @@ static int sysfs_open2(char *devnum, char *name, char *attr)
                 * never needs too.
                 */
                char buf[200];
-               read(fd, buf, sizeof(buf));
+               if (read(fd, buf, sizeof(buf)) < 0)
+                       /* pretend not to ignore return value */
+                       return fd;
        }
        return fd;
 }
index 75ae4e249cea07b4867b28084699b76f651d69bc..8b3f78a6d59e898b2648bb7b1285f4a23b854515 100644 (file)
--- a/xmalloc.c
+++ b/xmalloc.c
@@ -35,42 +35,50 @@ void *xmalloc(size_t len)
 {
        void *rv = malloc(len);
        char *msg;
+       int n;
        if (rv)
                return rv;
        msg = ": memory allocation failure - aborting\n";
-       write(2, Name, strlen(Name));
-       exit(4+!!write(2, msg, strlen(msg)));
+       n = write(2, Name, strlen(Name));
+       n += write(2, msg, strlen(msg));
+       exit(4+!!n);
 }
 
 void *xrealloc(void *ptr, size_t len)
 {
        void *rv = realloc(ptr, len);
        char *msg;
+       int n;
        if (rv)
                return rv;
        msg =  ": memory allocation failure - aborting\n";
-       write(2, Name, strlen(Name));
-       exit(4+!!write(2, msg, strlen(msg)));
+       n = write(2, Name, strlen(Name));
+       n += write(2, msg, strlen(msg));
+       exit(4+!!n);
 }
 
 void *xcalloc(size_t num, size_t size)
 {
        void *rv = calloc(num, size);
        char *msg;
+       int n;
        if (rv)
                return rv;
        msg =  ": memory allocation failure - aborting\n";
-       write(2, Name, strlen(Name));
-       exit(4+!!write(2, msg, strlen(msg)));
+       n = write(2, Name, strlen(Name));
+       n += write(2, msg, strlen(msg));
+       exit(4+!!n);
 }
 
 char *xstrdup(const char *str)
 {
        char *rv = strdup(str);
        char *msg;
+       int n;
        if (rv)
                return rv;
        msg =  ": memory allocation failure - aborting\n";
-       write(2, Name, strlen(Name));
-       exit(4+!!write(2, msg, strlen(msg)));
+       n = write(2, Name, strlen(Name));
+       n += write(2, msg, strlen(msg));
+       exit(4+!!n);
 }