Subject: Re: groupdel gives no error like userdel does
To: None <ghen@telenet.be>
From: Liam J. Foy <liamfoy@sepulcrum.org>
List: tech-userlevel
Date: 06/14/2005 17:50:26
Hey,

	I have cooked up a quick patch. The problem is getgrnam is not called
within a call to groupdel() (modify_gid() does not call it either, it assumes
the group exists).

	I don't have a netbsd tree here right now, so try that patch and let me
know if it works. It should do! =)

--- user.c.old	2005-06-14 17:25:10.000000000 +0100
+++ user.c	2005-06-14 17:46:29.000000000 +0100
@@ -1971,6 +1971,7 @@
 int
 groupdel(int argc, char **argv)
 {
+	struct group	*grp;
 	int	c;
 
 	while ((c = getopt(argc, argv, "" GROUP_DEL_OPT_EXTENSIONS)) != -1) {
@@ -1990,6 +1991,10 @@
 	if (argc != 1) {
 		usermgmt_usage("groupdel");
 	}
+
+	if ((grp = getgrnam(*argv)) == NULL) {
+		err(EXIT_FAILURE, "can't find group `%s' to delete", *argv);
+	}	
 	checkeuid();
 	openlog("groupdel", LOG_PID, LOG_USER);
 	if (!modify_gid(*argv, NULL)) {
-- 
		- Liam J. Foy
		liamfoy@sepulcrum.org