if (*StringSid == '-')
StringSid++;
- pisid->SubAuthority[i] = atoiW(StringSid);
-
while (*StringSid)
{
+ pisid->SubAuthority[i++] = atoiW(StringSid);
+
while (*StringSid && *StringSid != '-')
StringSid++;
if (*StringSid == '-')
StringSid++;
-
- pisid->SubAuthority[++i] = atoiW(StringSid);
}
if (i != pisid->SubAuthorityCount)
lend:
if (!ret)
+ {
+ LocalFree(pisid);
SetLastError(ERROR_INVALID_SID);
+ }
TRACE("returning %s\n", ret ? "TRUE" : "FALSE");
return ret;