[launchd-changes] [23310] trunk/launchd/src/launchd_core_logic.c
source_changes at macosforge.org
source_changes at macosforge.org
Mon Jul 16 08:47:32 PDT 2007
Revision: 23310
http://trac.macosforge.org/projects/launchd/changeset/23310
Author: zarzycki at apple.com
Date: 2007-07-16 08:47:31 -0700 (Mon, 16 Jul 2007)
Log Message:
-----------
clarity++
Modified Paths:
--------------
trunk/launchd/src/launchd_core_logic.c
Modified: trunk/launchd/src/launchd_core_logic.c
===================================================================
--- trunk/launchd/src/launchd_core_logic.c 2007-07-12 23:00:49 UTC (rev 23309)
+++ trunk/launchd/src/launchd_core_logic.c 2007-07-16 15:47:31 UTC (rev 23310)
@@ -2607,6 +2607,17 @@
return;
}
+ /*
+ * We must copy the results of getpw*().
+ *
+ * Why? Because subsequent API calls may call getpw*() as a part of
+ * their implementation. Since getpw*() returns a [now thread scoped]
+ * global, we must therefore cache the results before continuing.
+ */
+
+ desired_uid = pwe->pw_uid;
+ desired_gid = pwe->pw_gid;
+
strlcpy(shellpath, pwe->pw_shell, sizeof(shellpath));
strlcpy(loginname, pwe->pw_name, sizeof(loginname));
strlcpy(homedir, pwe->pw_dir, sizeof(homedir));
@@ -2616,8 +2627,6 @@
_exit(EXIT_FAILURE);
}
- desired_uid = pwe->pw_uid;
- desired_gid = pwe->pw_gid;
if (j->username && strcmp(j->username, loginname) != 0) {
job_log(j, LOG_WARNING, "Suspicious setup: User \"%s\" maps to user: %s", j->username, loginname);
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/launchd-changes/attachments/20070716/9e8e104c/attachment.html
More information about the launchd-changes
mailing list