From 49056987f1c719121fe15fffb72ad5085bac76e8 Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Fri, 21 Jun 2002 12:57:19 +0000 Subject: [PATCH] * security.cc (alloc_sd): Carefully check owner_sid again after trying SIDs from cygheap. --- winsup/cygwin/ChangeLog | 5 +++++ winsup/cygwin/security.cc | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index e60fe8438..afcfcece7 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,8 @@ +2002-06-21 Corinna Vinschen + + * security.cc (alloc_sd): Carefully check owner_sid again after trying + SIDs from cygheap. + 2002-06-21 Corinna Vinschen * security.cc (alloc_sd): Remove unnecessary retrieval of owner name. diff --git a/winsup/cygwin/security.cc b/winsup/cygwin/security.cc index 3cd0588d8..60b5378f3 100644 --- a/winsup/cygwin/security.cc +++ b/winsup/cygwin/security.cc @@ -1368,13 +1368,13 @@ alloc_sd (__uid32_t uid, __gid32_t gid, int attribute, } /* Get SID of owner. */ - cygsid owner_sid; + cygsid owner_sid (NO_SID); /* Check for current user first */ if (uid == myself->uid) owner_sid = cygheap->user.sid (); else if (uid == cygheap->user.orig_uid) owner_sid = cygheap->user.orig_sid (); - else + if (!owner_sid) { /* Otherwise retrieve user data from /etc/passwd */ struct passwd *pw = getpwuid32 (uid);