upstream commit

Revert previous commit.  We still want to call setgroups
 in the case where there are zero groups to remove any that we might otherwise
 inherit (as pointed out by grawity at gmail.com) and since the 2nd argument
 to setgroups is always a static global it's always valid to dereference in
 this case.  ok deraadt@ djm@

Upstream-ID: 895b5ac560a10befc6b82afa778641315725fd01
diff --git a/uidswap.c b/uidswap.c
index 36fe9c8..0702e1d 100644
--- a/uidswap.c
+++ b/uidswap.c
@@ -187,8 +187,7 @@
 	setgid(getgid());
 #endif /* SAVED_IDS_WORK_WITH_SETEUID */
 
-	if (saved_egroupslen > 0 &&
-	    setgroups(saved_egroupslen, saved_egroups) < 0)
+	if (setgroups(saved_egroupslen, saved_egroups) < 0)
 		fatal("setgroups: %.100s", strerror(errno));
 	temporarily_use_uid_effective = 0;
 }