diff options
author | Brian Behlendorf <[email protected]> | 2010-08-26 09:52:40 -0700 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2010-08-27 15:34:02 -0700 |
commit | 0e5b68e0159e071dae2cac01c2b6783b8e926133 (patch) | |
tree | 831cd00c0a79b73297f7d6b051ce47a02e523fd5 | |
parent | f709a82dc11fe9bad4953e9cfb0a78f71c859ff0 (diff) |
Fix gcc fortify source warnings
Resolve issues uncovered by -D_FORTIFY_SOURCE=2, the default redhat
macro's file adds this option to the cflags. This causes warnings
of the following type designed to keep the developer honest:
warning: ignoring return value of 'foo', declared
with attribute warn_unused_result
The short term fix is to wrap these calls in VERIFY() to check the
return code. The code was already assusing these would never fail.
Signed-off-by: Brian Behlendorf <[email protected]>
-rw-r--r-- | cmd/zdb/zdb.c | 6 | ||||
-rw-r--r-- | cmd/ztest/ztest.c | 5 | ||||
-rw-r--r-- | lib/libzpool/kernel.c | 2 |
3 files changed, 7 insertions, 6 deletions
diff --git a/cmd/zdb/zdb.c b/cmd/zdb/zdb.c index 891cb9c20..012d009dc 100644 --- a/cmd/zdb/zdb.c +++ b/cmd/zdb/zdb.c @@ -1668,7 +1668,7 @@ dump_uberblock(uberblock_t *ub, const char *header, const char *footer) { time_t timestamp = ub->ub_timestamp; - (void) printf(header ? header : ""); + (void) printf("%s", header ? header : ""); (void) printf("\tmagic = %016llx\n", (u_longlong_t)ub->ub_magic); (void) printf("\tversion = %llu\n", (u_longlong_t)ub->ub_version); (void) printf("\ttxg = %llu\n", (u_longlong_t)ub->ub_txg); @@ -1680,7 +1680,7 @@ dump_uberblock(uberblock_t *ub, const char *header, const char *footer) sprintf_blkptr(blkbuf, &ub->ub_rootbp); (void) printf("\trootbp = %s\n", blkbuf); } - (void) printf(footer ? footer : ""); + (void) printf("%s", footer ? footer : ""); } static void @@ -2554,7 +2554,7 @@ zdb_dump_block_raw(void *buf, uint64_t size, int flags) { if (flags & ZDB_FLAG_BSWAP) byteswap_uint64_array(buf, size); - (void) write(1, buf, size); + VERIFY(write(fileno(stdout), buf, size) == size); } static void diff --git a/cmd/ztest/ztest.c b/cmd/ztest/ztest.c index 771f1427e..5e21e620d 100644 --- a/cmd/ztest/ztest.c +++ b/cmd/ztest/ztest.c @@ -2592,7 +2592,7 @@ grow_vdev(vdev_t *vd, void *arg) return (vd); fsize = lseek(fd, 0, SEEK_END); - (void) ftruncate(fd, *newsize); + VERIFY(ftruncate(fd, *newsize) == 0); if (zopt_verbose >= 6) { (void) printf("%s grew from %lu to %lu bytes\n", @@ -5459,7 +5459,8 @@ main(int argc, char **argv) process_options(argc, argv); /* Override location of zpool.cache */ - (void) asprintf((char **)&spa_config_path, "%s/zpool.cache", zopt_dir); + VERIFY(asprintf((char **)&spa_config_path, "%s/zpool.cache", + zopt_dir) != -1); /* * Blow away any existing copy of zpool.cache diff --git a/lib/libzpool/kernel.c b/lib/libzpool/kernel.c index f323bf60b..ef264061f 100644 --- a/lib/libzpool/kernel.c +++ b/lib/libzpool/kernel.c @@ -796,7 +796,7 @@ umem_out_of_memory(void) { char errmsg[] = "out of memory -- generating core dump\n"; - write(fileno(stderr), errmsg, sizeof (errmsg)); + (void) fprintf(stderr, "%s", errmsg); abort(); return (0); } |