git: 3c4b3bab19ca - main - chroot: Remove always-true checks
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 07 Aug 2025 18:26:54 UTC
The branch main has been updated by jhb:
URL: https://cgit.FreeBSD.org/src/commit/?id=3c4b3bab19ca66bbb3c53275c51d4bf863059fb2
commit 3c4b3bab19ca66bbb3c53275c51d4bf863059fb2
Author: John Baldwin <jhb@FreeBSD.org>
AuthorDate: 2025-08-07 17:48:36 +0000
Commit: John Baldwin <jhb@FreeBSD.org>
CommitDate: 2025-08-07 18:26:46 +0000
chroot: Remove always-true checks
gid_t and uid_t are unsigned types, so the values are always >= 0.
usr.sbin/chroot/chroot.c: In function 'resolve_group':
usr.sbin/chroot/chroot.c:68:55: error: comparison of unsigned expression in '>= 0' is always true [-Werror=type-limits]
68 | if (errno == 0 && *endp == '\0' && (gid_t)gid >= 0 && gid <= GID_MAX)
| ^~
usr.sbin/chroot/chroot.c: In function 'resolve_user':
usr.sbin/chroot/chroot.c:87:55: error: comparison of unsigned expression in '>= 0' is always true [-Werror=type-limits]
87 | if (errno == 0 && *endp == '\0' && (uid_t)uid >= 0 && uid <= UID_MAX)
| ^~
Reported by: GCC
Fixes: 91eb4d2ba4de ("chroot: slightly cleanup")
---
usr.sbin/chroot/chroot.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/usr.sbin/chroot/chroot.c b/usr.sbin/chroot/chroot.c
index 8a99a9bbf7cb..d9fb29474d87 100644
--- a/usr.sbin/chroot/chroot.c
+++ b/usr.sbin/chroot/chroot.c
@@ -65,7 +65,7 @@ resolve_group(const char *group)
*/
errno = 0;
gid = strtoul(group, &endp, 0);
- if (errno == 0 && *endp == '\0' && (gid_t)gid >= 0 && gid <= GID_MAX)
+ if (errno == 0 && *endp == '\0' && gid <= GID_MAX)
return (gid);
errx(1, "no such group '%s'", group);
@@ -84,7 +84,7 @@ resolve_user(const char *user)
errno = 0;
uid = strtoul(user, &endp, 0);
- if (errno == 0 && *endp == '\0' && (uid_t)uid >= 0 && uid <= UID_MAX)
+ if (errno == 0 && *endp == '\0' && uid <= UID_MAX)
return (uid);
errx(1, "no such user '%s'", user);