From bb34ad9674effea3d4401186cd729e4feb9ad881 Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Sat, 24 Jun 2000 17:37:52 +0000 Subject: * fork.cc (fork): Fix error in copying SID pointer. * spawn.cc (_spawnve): Ditto. * passwd.cc: Remove static from `passwd_in_memory_p'. (read_etc_passwd): Remove static. * uinfo.cc: Move global declaration of `read_etc_group' and `group_in_memory_p' into `uinfo_init'. (internal_getlogin): Try to get SID from current process first. (uinfo_init): Don't set uid and gid if `myself' has a valid SID. Only load /etc/passwd and /etc/group in that case. --- winsup/cygwin/spawn.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'winsup/cygwin/spawn.cc') diff --git a/winsup/cygwin/spawn.cc b/winsup/cygwin/spawn.cc index 7225c5377..6ec011914 100644 --- a/winsup/cygwin/spawn.cc +++ b/winsup/cygwin/spawn.cc @@ -847,8 +847,9 @@ _spawnve (HANDLE hToken, int mode, const char *path, const char *const *argv, if (!hToken && !myself->token) { memcpy (child->username, myself->username, MAX_USER_NAME); - child->psid = myself->psid; memcpy (child->sidbuf, myself->sidbuf, 40); + if (myself->psid) + child->psid = child->sidbuf; memcpy (child->logsrv, myself->logsrv, 256); memcpy (child->domain, myself->domain, MAX_COMPUTERNAME_LENGTH+1); } -- cgit v1.2.3