Ales Ledvinka 8bc549
diff -up arpwatch-2.1a15/arpwatch.c.dropgroup arpwatch-2.1a15/arpwatch.c
Ales Ledvinka 8bc549
--- arpwatch-2.1a15/arpwatch.c.dropgroup	2012-05-31 11:47:13.327901902 +0200
Ales Ledvinka 8bc549
+++ arpwatch-2.1a15/arpwatch.c	2012-05-31 11:48:04.859900061 +0200
Ales Ledvinka 8bc549
@@ -147,7 +147,7 @@ void dropprivileges(const char* user)
Ales Ledvinka 8bc549
 	struct passwd* pw;
Ales Ledvinka 8bc549
 	pw = getpwnam( user );
Ales Ledvinka 8bc549
 	if ( pw ) {
Ales Ledvinka 8bc549
-		if ( initgroups(pw->pw_name, NULL) != 0 || setgid(pw->pw_gid) != 0 ||
Ales Ledvinka 8bc549
+		if ( setgid(pw->pw_gid) != 0 || setgroups(0, NULL) != 0 ||
Ales Ledvinka 8bc549
 				 setuid(pw->pw_uid) != 0 ) {
Ales Ledvinka 8bc549
 			syslog(LOG_ERR, "Couldn't change to '%.32s' uid=%d gid=%d", user,
Ales Ledvinka 8bc549
 						 pw->pw_uid, pw->pw_gid);