DVG-4694589_16_group_limit_fix.patch [plain text]
diff -uNr ../openssh-4.5p1.orig/uidswap.c ./uidswap.c
--- ../openssh-4.5p1.orig/uidswap.c 2006-08-04 19:39:41.000000000 -0700
+++ ./uidswap.c 2007-01-12 19:26:22.000000000 -0800
@@ -233,6 +239,9 @@
fatal("setgid %u: %.100s", (u_int)pw->pw_gid, strerror(errno));
#endif
+ if (initgroups(pw->pw_name, pw->pw_gid) < 0)
+ fatal("setgid %.100s %u: %.100s", pw->pw_name, (u_int)pw->pw_gid, strerror(errno));
+
#if defined(HAVE_SETRESUID) && !defined(BROKEN_SETRESUID)
if (setresuid(pw->pw_uid, pw->pw_uid, pw->pw_uid) < 0)
fatal("setresuid %u: %.100s", (u_int)pw->pw_uid, strerror(errno));