diff options
-rw-r--r-- | libcli/security/dom_sid.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/libcli/security/dom_sid.c b/libcli/security/dom_sid.c index 7cb50c926c..0c8890079a 100644 --- a/libcli/security/dom_sid.c +++ b/libcli/security/dom_sid.c @@ -85,12 +85,16 @@ bool dom_sid_equal(const struct dom_sid *sid1, const struct dom_sid *sid2) return dom_sid_compare(sid1, sid2) == 0; } +/* Yes, I did think about multibyte issues here, and for all I can see there's + * none of those for parsing a SID. */ +#undef strncasecmp + bool dom_sid_parse(const char *sidstr, struct dom_sid *ret) { uint_t rev, ia, num_sub_auths, i; char *p; - if ((sidstr[0] != 'S' && sidstr[0] != 's') || sidstr[1] != '-') { + if (strncasecmp(sidstr, "S-", 2)) { return false; } |