svn commit: r277764 - in head/usr.sbin/pw: . tests

Baptiste Daroussin bapt at FreeBSD.org
Mon Jan 26 16:50:44 UTC 2015


Author: bapt
Date: Mon Jan 26 16:50:42 2015
New Revision: 277764
URL: https://svnweb.freebsd.org/changeset/base/277764

Log:
  Revert r277652
  
  uid and gid are never and should never be negative. The pw(8) manpage clearly
  states the -u and -g arguments are for uids/gids, hence using negative values is
  abusing a bug in former versions of pw(8)

Deleted:
  head/usr.sbin/pw/tests/pw_groupshow.sh
  head/usr.sbin/pw/tests/pw_usershow.sh
Modified:
  head/usr.sbin/pw/pw_group.c
  head/usr.sbin/pw/pw_user.c
  head/usr.sbin/pw/tests/Makefile

Modified: head/usr.sbin/pw/pw_group.c
==============================================================================
--- head/usr.sbin/pw/pw_group.c	Mon Jan 26 16:32:41 2015	(r277763)
+++ head/usr.sbin/pw/pw_group.c	Mon Jan 26 16:50:42 2015	(r277764)
@@ -68,11 +68,7 @@ pw_group(struct userconf * cnf, int mode
 	};
 
 	if (a_gid != NULL) {
-		const char *teststr;
-		teststr = a_gid->val;
-		if (*teststr == '-')
-			teststr++;
-		if (strspn(teststr, "0123456789") != strlen(teststr))
+		if (strspn(a_gid->val, "0123456789") != strlen(a_gid->val))
 			errx(EX_USAGE, "-g expects a number");
 	}
 

Modified: head/usr.sbin/pw/pw_user.c
==============================================================================
--- head/usr.sbin/pw/pw_user.c	Mon Jan 26 16:32:41 2015	(r277763)
+++ head/usr.sbin/pw/pw_user.c	Mon Jan 26 16:50:42 2015	(r277764)
@@ -322,10 +322,7 @@ pw_user(struct userconf * cnf, int mode,
 			a_name = NULL;
 		}
 	} else {
-		const char *teststr = a_uid->val;
-		if (*teststr == '-')
-			teststr++;
-		if (strspn(teststr, "0123456789") != strlen(teststr))
+		if (strspn(a_uid->val, "0123456789") != strlen(a_uid->val))
 			errx(EX_USAGE, "-u expects a number");
 	}
 

Modified: head/usr.sbin/pw/tests/Makefile
==============================================================================
--- head/usr.sbin/pw/tests/Makefile	Mon Jan 26 16:32:41 2015	(r277763)
+++ head/usr.sbin/pw/tests/Makefile	Mon Jan 26 16:50:42 2015	(r277764)
@@ -9,11 +9,9 @@ ATF_TESTS_SH=	pw_etcdir \
 		pw_lock \
 		pw_groupdel \
 		pw_groupmod \
-		pw_groupshow \
 		pw_useradd \
 		pw_userdel \
-		pw_usermod \
-		pw_usershow
+		pw_usermod
 
 .for tp in ${ATF_TESTS_SH}
 TEST_METADATA.${tp}+=	required_user="root"


More information about the svn-src-head mailing list