summaryrefslogtreecommitdiff
path: root/debian/patches-applied/pam_unix_setreuid_juggling.patch
blob: 0605e108fed9218002b29f43edc6c9bcc7dfad6a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
This particular setreuid() is only needed if we don't have any root
privs at all, so make it conditional like it was pre-1.0.

Authors: Steve Langasek <vorlon@debian.org>

Upstream status: to be submitted

Index: pam.deb/modules/pam_unix/passverify.c
===================================================================
--- pam.deb.orig/modules/pam_unix/passverify.c
+++ pam.deb/modules/pam_unix/passverify.c
@@ -187,8 +187,8 @@
 			if (save_uid == (*pwd)->pw_uid)
 				setreuid(save_uid, save_euid);
 			else {
-				setreuid(-1, 0);
-				setreuid(save_uid, -1);
+				if (setreuid(-1, 0) == -1)
+					setreuid(save_uid, -1);
 				setreuid(-1, save_euid);
 			}