diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2015-12-16 12:25:27 +0100 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2015-12-16 12:25:27 +0100 |
commit | c7432b13faa27c240b8c31bb45d1f2888ef34ffd (patch) | |
tree | c63ff2d044b2ad8ab795abd9882cbd742784b7c4 /winsup/cygwin/grp.cc | |
parent | 4fbb2eb2c0e9ea6bbbb28e3d479377df44fff869 (diff) | |
download | cygnal-c7432b13faa27c240b8c31bb45d1f2888ef34ffd.tar.gz cygnal-c7432b13faa27c240b8c31bb45d1f2888ef34ffd.tar.bz2 cygnal-c7432b13faa27c240b8c31bb45d1f2888ef34ffd.zip |
Fix crash reading invalid SIDs from passwd and group files
* grp.cc (pwdgrp::parse_group): Only copy the SID if it's valid.
* passwd.cc (pwdgrp::parse_passwd): Ditto.
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Diffstat (limited to 'winsup/cygwin/grp.cc')
-rw-r--r-- | winsup/cygwin/grp.cc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/winsup/cygwin/grp.cc b/winsup/cygwin/grp.cc index 501db1a2c..8c3b82198 100644 --- a/winsup/cygwin/grp.cc +++ b/winsup/cygwin/grp.cc @@ -48,8 +48,8 @@ pwdgrp::parse_group () /* Don't generate gr_mem entries. */ grp.g.gr_mem = &null_ptr; cygsid csid; - csid.getfromgr_passwd (&grp.g); - RtlCopySid (SECURITY_MAX_SID_SIZE, grp.sid, csid); + if (csid.getfromgr_passwd (&grp.g)) + RtlCopySid (SECURITY_MAX_SID_SIZE, grp.sid, csid); return true; } |