git: da1255560f36 - main - makefs: clean up warnings

From: Toomas Soome <tsoome_at_FreeBSD.org>
Date: Tue, 29 Jul 2025 20:59:44 UTC
The branch main has been updated by tsoome:

URL: https://cgit.FreeBSD.org/src/commit/?id=da1255560f36d6cacda82fa94c3ba94c12d25050

commit da1255560f36d6cacda82fa94c3ba94c12d25050
Author:     Toomas Soome <tsoome@FreeBSD.org>
AuthorDate: 2025-07-22 16:03:19 +0000
Commit:     Toomas Soome <tsoome@FreeBSD.org>
CommitDate: 2025-07-29 20:59:06 +0000

    makefs: clean up warnings
    
    zfs/fs.c:
    zfs/objset.c:
    zfs/vdev.c:
    zfs/zap.c:
    Add include sys/param.h
    
    dsl_dir_alloc() needs to set parent = NULL to silence warning
    about 'parent' may be used uninitialized. Warning is given because
    we break the loop when nextdir == NULL and parent was not previously set.
    (it should not happen, but compiler does not know that).
    
    zap_add() and zap_fat_write_array_chunk() takes uint8_t *, use type
    cast.
    
    zap_fat_write_array_chunk() should check sz for 0 to avoid
    use of uninitialized pointer.
    
    unchecked function returns.
    
    Reviewed by:    markj
    Differential revision:  https://reviews.freebsd.org/D51592
---
 usr.sbin/makefs/zfs/dsl.c    | 25 +++++++++++++------------
 usr.sbin/makefs/zfs/fs.c     |  3 ++-
 usr.sbin/makefs/zfs/objset.c |  1 +
 usr.sbin/makefs/zfs/vdev.c   |  1 +
 usr.sbin/makefs/zfs/zap.c    | 13 ++++++++-----
 5 files changed, 25 insertions(+), 18 deletions(-)

diff --git a/usr.sbin/makefs/zfs/dsl.c b/usr.sbin/makefs/zfs/dsl.c
index 8a8cee7c82b2..1977521d7f92 100644
--- a/usr.sbin/makefs/zfs/dsl.c
+++ b/usr.sbin/makefs/zfs/dsl.c
@@ -119,7 +119,7 @@ dsl_dir_get_mountpoint(zfs_opt_t *zfs, zfs_dsl_dir_t *dir)
 
 			if (nvlist_find_string(pdir->propsnv, "mountpoint",
 			    &tmp) == 0) {
-				easprintf(&mountpoint, "%s%s%s", tmp,
+				(void)easprintf(&mountpoint, "%s%s%s", tmp,
 				    tmp[strlen(tmp) - 1] == '/' ?  "" : "/",
 				    origmountpoint);
 				free(tmp);
@@ -127,7 +127,7 @@ dsl_dir_get_mountpoint(zfs_opt_t *zfs, zfs_dsl_dir_t *dir)
 				break;
 			}
 
-			easprintf(&mountpoint, "%s/%s", pdir->name,
+			(void)easprintf(&mountpoint, "%s/%s", pdir->name,
 			    origmountpoint);
 			free(origmountpoint);
 		}
@@ -175,22 +175,22 @@ dsl_dir_set_prop(zfs_opt_t *zfs, zfs_dsl_dir_t *dir, const char *key,
 				    "the root path `%s'", val, zfs->rootpath);
 			}
 		}
-		nvlist_add_string(nvl, key, val);
+		(void)nvlist_add_string(nvl, key, val);
 	} else if (strcmp(key, "atime") == 0 || strcmp(key, "exec") == 0 ||
 	    strcmp(key, "setuid") == 0) {
 		if (strcmp(val, "on") == 0)
-			nvlist_add_uint64(nvl, key, 1);
+			(void)nvlist_add_uint64(nvl, key, 1);
 		else if (strcmp(val, "off") == 0)
-			nvlist_add_uint64(nvl, key, 0);
+			(void)nvlist_add_uint64(nvl, key, 0);
 		else
 			errx(1, "invalid value `%s' for %s", val, key);
 	} else if (strcmp(key, "canmount") == 0) {
 		if (strcmp(val, "noauto") == 0)
-			nvlist_add_uint64(nvl, key, 2);
+			(void)nvlist_add_uint64(nvl, key, 2);
 		else if (strcmp(val, "on") == 0)
-			nvlist_add_uint64(nvl, key, 1);
+			(void)nvlist_add_uint64(nvl, key, 1);
 		else if (strcmp(val, "off") == 0)
-			nvlist_add_uint64(nvl, key, 0);
+			(void)nvlist_add_uint64(nvl, key, 0);
 		else
 			errx(1, "invalid value `%s' for %s", val, key);
 	} else if (strcmp(key, "compression") == 0) {
@@ -237,7 +237,7 @@ dsl_metadir_alloc(zfs_opt_t *zfs, const char *name)
 	zfs_dsl_dir_t *dir;
 	char *path;
 
-	easprintf(&path, "%s/%s", zfs->poolname, name);
+	(void)easprintf(&path, "%s/%s", zfs->poolname, name);
 	dir = dsl_dir_alloc(zfs, path);
 	free(path);
 	return (dir);
@@ -322,11 +322,11 @@ dsl_init(zfs_opt_t *zfs)
 	 * user didn't override the defaults.
 	 */
 	if (nvpair_find(zfs->rootdsldir->propsnv, "compression") == NULL) {
-		nvlist_add_uint64(zfs->rootdsldir->propsnv, "compression",
-		    ZIO_COMPRESS_OFF);
+		(void)nvlist_add_uint64(zfs->rootdsldir->propsnv,
+		    "compression", ZIO_COMPRESS_OFF);
 	}
 	if (nvpair_find(zfs->rootdsldir->propsnv, "mountpoint") == NULL) {
-		nvlist_add_string(zfs->rootdsldir->propsnv, "mountpoint",
+		(void)nvlist_add_string(zfs->rootdsldir->propsnv, "mountpoint",
 		    zfs->rootpath);
 	}
 }
@@ -431,6 +431,7 @@ dsl_dir_alloc(zfs_opt_t *zfs, const char *name)
 	STAILQ_INIT(&l);
 	STAILQ_INSERT_HEAD(&l, zfs->rootdsldir, next);
 	origname = dirname = nextdir = estrdup(name);
+	parent = NULL;
 	for (lp = &l;; lp = &parent->children) {
 		dirname = strsep(&nextdir, "/");
 		if (nextdir == NULL)
diff --git a/usr.sbin/makefs/zfs/fs.c b/usr.sbin/makefs/zfs/fs.c
index 073dce3ce697..0194089a357d 100644
--- a/usr.sbin/makefs/zfs/fs.c
+++ b/usr.sbin/makefs/zfs/fs.c
@@ -28,6 +28,7 @@
  * SUCH DAMAGE.
  */
 
+#include <sys/param.h>
 #include <sys/stat.h>
 
 #include <assert.h>
@@ -734,7 +735,7 @@ fs_add_zpl_attr_layout(zfs_zap_t *zap, unsigned int index,
 
 	assert(sizeof(layout[0]) == 2);
 
-	snprintf(ti, sizeof(ti), "%u", index);
+	(void)snprintf(ti, sizeof(ti), "%u", index);
 	zap_add(zap, ti, sizeof(sa_attr_type_t), sacnt,
 	    (const uint8_t *)layout);
 }
diff --git a/usr.sbin/makefs/zfs/objset.c b/usr.sbin/makefs/zfs/objset.c
index 6be732db477a..f47953ac4339 100644
--- a/usr.sbin/makefs/zfs/objset.c
+++ b/usr.sbin/makefs/zfs/objset.c
@@ -28,6 +28,7 @@
  * SUCH DAMAGE.
  */
 
+#include <sys/param.h>
 #include <assert.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/usr.sbin/makefs/zfs/vdev.c b/usr.sbin/makefs/zfs/vdev.c
index ef9e681af2da..afcce402cb13 100644
--- a/usr.sbin/makefs/zfs/vdev.c
+++ b/usr.sbin/makefs/zfs/vdev.c
@@ -28,6 +28,7 @@
  * SUCH DAMAGE.
  */
 
+#include <sys/param.h>
 #include <assert.h>
 #include <fcntl.h>
 #include <stdlib.h>
diff --git a/usr.sbin/makefs/zfs/zap.c b/usr.sbin/makefs/zfs/zap.c
index decf5fc6a473..316d1446cecf 100644
--- a/usr.sbin/makefs/zfs/zap.c
+++ b/usr.sbin/makefs/zfs/zap.c
@@ -28,7 +28,7 @@
  * SUCH DAMAGE.
  */
 
-#include <sys/types.h>
+#include <sys/param.h>
 #include <sys/endian.h>
 
 #include <assert.h>
@@ -172,14 +172,14 @@ zap_add_uint64_self(zfs_zap_t *zap, uint64_t val)
 {
 	char name[32];
 
-	snprintf(name, sizeof(name), "%jx", (uintmax_t)val);
+	(void)snprintf(name, sizeof(name), "%jx", (uintmax_t)val);
 	zap_add(zap, name, sizeof(uint64_t), 1, (uint8_t *)&val);
 }
 
 void
 zap_add_string(zfs_zap_t *zap, const char *name, const char *val)
 {
-	zap_add(zap, name, 1, strlen(val) + 1, val);
+	zap_add(zap, name, 1, strlen(val) + 1, (const uint8_t *)val);
 }
 
 bool
@@ -221,7 +221,8 @@ zap_micro_write(zfs_opt_t *zfs, zfs_zap_t *zap)
 	STAILQ_FOREACH(ent, &zap->kvps, next) {
 		memcpy(&ment->mze_value, ent->valp, ent->intsz * ent->intcnt);
 		ment->mze_cd = cd++;
-		strlcpy(ment->mze_name, ent->name, sizeof(ment->mze_name));
+		(void)strlcpy(ment->mze_name, ent->name,
+		    sizeof(ment->mze_name));
 		ment++;
 	}
 
@@ -247,6 +248,7 @@ zap_fat_write_array_chunk(zap_leaf_t *l, uint16_t li, size_t sz,
 	struct zap_leaf_array *la;
 
 	assert(sz <= ZAP_MAXVALUELEN);
+	assert(sz > 0);
 
 	for (uint16_t n, resid = sz; resid > 0; resid -= n, val += n, li++) {
 		n = MIN(resid, ZAP_LEAF_ARRAY_BYTES);
@@ -503,7 +505,8 @@ zap_fat_write(zfs_opt_t *zfs, zfs_zap_t *zap)
 		le->le_value_intlen = ent->intsz;
 		le->le_value_numints = ent->intcnt;
 		le->le_hash = ent->hash;
-		zap_fat_write_array_chunk(&l, *lptr + 1, namelen, ent->name);
+		zap_fat_write_array_chunk(&l, *lptr + 1, namelen,
+		    (uint8_t *)ent->name);
 		zap_fat_write_array_chunk(&l, *lptr + 1 + nnamechunks,
 		    ent->intcnt * ent->intsz, ent->valp);
 	}