r4011 - in trunk: . launchers
- From: timj svn gnome org
- To: svn-commits-list gnome org
- Subject: r4011 - in trunk: . launchers
- Date: Sun, 22 Oct 2006 16:26:46 -0400 (EDT)
Author: timj
Date: 2006-10-22 16:26:22 -0400 (Sun, 22 Oct 2006)
New Revision: 4011
Modified:
trunk/ChangeLog
trunk/launchers/suidmain.c
Log:
Sun Oct 22 22:21:44 2006 Tim Janik <timj gtk org>
* launchers/suidmain.c: drop priviledges more reliably by re-querying
the effective user id with geteuid() instead of just catching errors.
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2006-10-22 12:32:43 UTC (rev 4010)
+++ trunk/ChangeLog 2006-10-22 20:26:22 UTC (rev 4011)
@@ -1,3 +1,8 @@
+Sun Oct 22 22:21:44 2006 Tim Janik <timj gtk org>
+
+ * launchers/suidmain.c: drop priviledges more reliably by re-querying
+ the effective user id with geteuid() instead of just catching errors.
+
Sun Oct 22 14:31:48 2006 Stefan Westerfeld <stefan space twc de>
* web/news.doxi: A summary of the things that happened since the last
Modified: trunk/launchers/suidmain.c
===================================================================
--- trunk/launchers/suidmain.c 2006-10-22 12:32:43 UTC (rev 4010)
+++ trunk/launchers/suidmain.c 2006-10-22 20:26:22 UTC (rev 4011)
@@ -60,7 +60,6 @@
char **argv)
{
const char *executable = NULL;
-
int euid = geteuid ();
int uid = getuid ();
@@ -70,18 +69,18 @@
/* drop root privileges if running setuid root as soon as possible */
if (euid != uid)
{
- int err;
#if HAVE_SETEUID
- err = seteuid (uid);
+ seteuid (uid);
#elif HAVE_SETREUID
- err = setreuid (-1, uid);
+ setreuid (-1, uid);
#else
#error platform misses facility to drop privileges
#endif
- if (err != 0)
+ /* verify priviledge drop */
+ if (geteuid() != uid)
{
fprintf (stderr, "%s: failed to drop priviledges: %s\n", argv[0], strerror (errno));
- _exit (2);
+ _exit (255);
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]