diff options
author | paul <paul@FreeBSD.org> | 2000-03-09 18:11:16 +0000 |
---|---|---|
committer | paul <paul@FreeBSD.org> | 2000-03-09 18:11:16 +0000 |
commit | 62f215a16f0bb6bee8de286f75380af61a8981bb (patch) | |
tree | 1a587389adcb07ae1838b9cead700288d5354a5d /usr.sbin/pwd_mkdb/pwd_mkdb.c | |
parent | 8e3795df0fb6cdfc739049fb0fcab846da61d760 (diff) | |
download | FreeBSD-src-62f215a16f0bb6bee8de286f75380af61a8981bb.zip FreeBSD-src-62f215a16f0bb6bee8de286f75380af61a8981bb.tar.gz |
Fix various unsigned vs signed errors that caused problems with uids
and gids bigger than 16 bits. Added checks for uids and gids that are
bigger than 32 bits.
Approved by: jkh (partly, this fix is bigger than I first intended)
Diffstat (limited to 'usr.sbin/pwd_mkdb/pwd_mkdb.c')
-rw-r--r-- | usr.sbin/pwd_mkdb/pwd_mkdb.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/usr.sbin/pwd_mkdb/pwd_mkdb.c b/usr.sbin/pwd_mkdb/pwd_mkdb.c index 5ee9699..9d77b27 100644 --- a/usr.sbin/pwd_mkdb/pwd_mkdb.c +++ b/usr.sbin/pwd_mkdb/pwd_mkdb.c @@ -320,9 +320,9 @@ main(argc, argv) p = buf; COMPACT(pwd.pw_name); COMPACT("*"); - memmove(p, &pwd.pw_uid, sizeof(int)); + memmove(p, &pwd.pw_uid, sizeof(pwd.pw_uid)); p += sizeof(int); - memmove(p, &pwd.pw_gid, sizeof(int)); + memmove(p, &pwd.pw_gid, sizeof(pwd.pw_gid)); p += sizeof(int); memmove(p, &pwd.pw_change, sizeof(time_t)); p += sizeof(time_t); @@ -340,9 +340,9 @@ main(argc, argv) p = sbuf; COMPACT(pwd.pw_name); COMPACT(pwd.pw_passwd); - memmove(p, &pwd.pw_uid, sizeof(int)); + memmove(p, &pwd.pw_uid, sizeof(pwd.pw_uid)); p += sizeof(int); - memmove(p, &pwd.pw_gid, sizeof(int)); + memmove(p, &pwd.pw_gid, sizeof(pwd.pw_gid)); p += sizeof(int); memmove(p, &pwd.pw_change, sizeof(time_t)); p += sizeof(time_t); @@ -420,8 +420,8 @@ main(argc, argv) char uidstr[20]; char gidstr[20]; - snprintf(uidstr, sizeof(uidstr), "%d", pwd.pw_uid); - snprintf(gidstr, sizeof(gidstr), "%d", pwd.pw_gid); + snprintf(uidstr, sizeof(uidstr), "%u", pwd.pw_uid); + snprintf(gidstr, sizeof(gidstr), "%u", pwd.pw_gid); if (fprintf(oldfp, "%s:*:%s:%s:%s:%s:%s\n", pwd.pw_name, pwd.pw_fields & _PWF_UID ? uidstr : "", |