]> granicus.if.org Git - zfs/commitdiff
Fix coverity defects: CID 147692, 147693, 147694
authorcao <cao.xuewen@zte.com.cn>
Thu, 13 Oct 2016 21:38:59 +0000 (05:38 +0800)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Thu, 13 Oct 2016 21:38:59 +0000 (14:38 -0700)
CID:147692, Type:Uninitialized scalar variable
CID:147693, Type:Uninitialized scalar variable
CID:147694, Type:Uninitialized scalar variable

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: cao.xuewen <cao.xuewen@zte.com.cn>
Closes #5252

tests/zfs-tests/cmd/largest_file/largest_file.c
tests/zfs-tests/cmd/mmapwrite/mmapwrite.c
tests/zfs-tests/cmd/randfree_file/randfree_file.c

index 1cf7529f13ec16d5f0d6a16d0a68f27f250c4b34..286232da5b1919ddbdd0b3ad2f115841ae333a34 100644 (file)
@@ -64,7 +64,7 @@ main(int argc, char **argv)
        offset_t        llseek_ret = 0;
        int             write_ret = 0;
        int             err = 0;
-       char            mybuf[5];
+       char            mybuf[5] = "aaaa\0";
        char            *testfile;
        mode_t          mode = S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH;
 
@@ -78,30 +78,31 @@ main(int argc, char **argv)
 
        fd = open(testfile, O_CREAT | O_RDWR, mode);
        if (fd < 0) {
-               perror("Failed to create testfile");
                err = errno;
-               goto out;
+               perror("Failed to create testfile");
+               free(testfile);
+               return (err);
        }
 
        llseek_ret = lseek64(fd, offset, SEEK_SET);
        if (llseek_ret < 0) {
-               perror("Failed to seek to end of testfile");
                err = errno;
+               perror("Failed to seek to end of testfile");
                goto out;
        }
 
        write_ret = write(fd, mybuf, 1);
        if (write_ret < 0) {
-               perror("Failed to write to end of file");
                err = errno;
+               perror("Failed to write to end of file");
                goto out;
        }
 
        offset = 0;
        llseek_ret = lseek64(fd, offset, SEEK_CUR);
        if (llseek_ret < 0) {
-               perror("Failed to seek to end of file");
                err = errno;
+               perror("Failed to seek to end of file");
                goto out;
        }
 
@@ -111,8 +112,8 @@ main(int argc, char **argv)
                        (void) printf("write errno=EFBIG: success\n");
                        err = 0;
                } else {
-                       perror("Did not receive EFBIG");
                        err = errno;
+                       perror("Did not receive EFBIG");
                }
        } else {
                (void) printf("write completed successfully, test failed\n");
@@ -122,6 +123,7 @@ main(int argc, char **argv)
 out:
        (void) unlink(testfile);
        free(testfile);
+       close(fd);
        return (err);
 }
 
index 2eca124696e0a542431f2d1b2efa82513e13d12e..190d31af3aaaf6d3acd0d7cc9bc546ca16c4658b 100644 (file)
@@ -28,6 +28,7 @@
 #include <fcntl.h>
 #include <stdio.h>
 #include <stdlib.h>
+#include <string.h>
 #include <sys/mman.h>
 #include <pthread.h>
 
@@ -67,9 +68,11 @@ int
 main(int argc, char **argv)
 {
        int fd;
-       char buf[BUFSIZ];
+       char buf[1024];
        pthread_t tid;
 
+       memset(buf, 'a', sizeof (buf));
+
        if (argc != 2) {
                (void) printf("usage: %s <file name>\n", argv[0]);
                exit(1);
@@ -83,15 +86,19 @@ main(int argc, char **argv)
        (void) pthread_setconcurrency(2);
        if (pthread_create(&tid, NULL, mapper, &fd) != 0) {
                perror("pthread_create");
+               close(fd);
                exit(1);
        }
        for (;;) {
                if (write(fd, buf, sizeof (buf)) == -1) {
                        perror("write");
+                       close(fd);
                        exit(1);
                }
        }
 
+       close(fd);
+
        /* NOTREACHED */
        return (0);
 }
index 05797448c90a653b2e755c457bb8169811539952..c708d647e8b9449b6ad5177bdf60561841fc4ff3 100644 (file)
@@ -32,6 +32,7 @@
 #include <sys/types.h>
 #include <unistd.h>
 #include <fcntl.h>
+#include <string.h>
 #include <linux/falloc.h>
 
 /*
@@ -54,7 +55,7 @@ int
 main(int argc, char *argv[])
 {
        char *filename = NULL;
-       char *buf;
+       char *buf = NULL;
        size_t filesize = 0;
        off_t start_off = 0;
        off_t off_len = 0;
@@ -88,11 +89,18 @@ main(int argc, char *argv[])
                return (1);
        }
 
-       buf = (char *)malloc(filesize);
+       buf = (char *)calloc(1, filesize);
+       if (buf == NULL) {
+               perror("write");
+               close(fd);
+               return (1);
+       }
+       memset(buf, 'c', filesize);
 
        if (write(fd, buf, filesize) < filesize) {
                free(buf);
                perror("write");
+               close(fd);
                return (1);
        }
 
@@ -102,14 +110,16 @@ main(int argc, char *argv[])
        if (fallocate(fd, FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE,
            start_off, off_len) < 0) {
                perror("fallocate");
+               close(fd);
                return (1);
        }
 #else /* !(defined(FALLOC_FL_PUNCH_HOLE) && defined(FALLOC_FL_KEEP_SIZE)) */
        {
                perror("FALLOC_FL_PUNCH_HOLE unsupported");
+               close(fd);
                return (1);
        }
 #endif /* defined(FALLOC_FL_PUNCH_HOLE) && defined(FALLOC_FL_KEEP_SIZE) */
-
+       close(fd);
        return (0);
 }