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>
This commit is contained in:
@ -41,8 +41,8 @@ pwdgrp::parse_passwd ()
|
||||
res.p.pw_dir = next_str (':');
|
||||
res.p.pw_shell = next_str (':');
|
||||
cygsid csid;
|
||||
csid.getfrompw_gecos (&res.p);
|
||||
RtlCopySid (SECURITY_MAX_SID_SIZE, res.sid, csid);
|
||||
if (csid.getfrompw_gecos (&res.p))
|
||||
RtlCopySid (SECURITY_MAX_SID_SIZE, res.sid, csid);
|
||||
/* lptr points to the \0 after pw_shell. Increment by one to get the correct
|
||||
required buffer len in getpw_cp. */
|
||||
res.len = lptr - res.p.pw_name + 1;
|
||||
|
Reference in New Issue
Block a user