Module: wine Branch: master Commit: b2ab45b78b695b3e3edd36ed39c1e373ccd80c93 URL: http://source.winehq.org/git/wine.git/?a=commit;h=b2ab45b78b695b3e3edd36ed39...
Author: Juan Lang juan.lang@gmail.com Date: Fri Nov 20 15:37:46 2009 -0800
crypt32: Only match RDN attributes whose lengths are identical.
---
dlls/crypt32/cert.c | 10 ++++++++-- 1 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/dlls/crypt32/cert.c b/dlls/crypt32/cert.c index f91adc1..a247570 100644 --- a/dlls/crypt32/cert.c +++ b/dlls/crypt32/cert.c @@ -1853,7 +1853,10 @@ static BOOL find_matching_rdn_attr(DWORD dwFlags, const CERT_NAME_INFO *name, (LPCWSTR)name->rgRDN[i].rgRDNAttr[j].Value.pbData; LPCWSTR attrStr = (LPCWSTR)attr->Value.pbData;
- if (dwFlags & CERT_CASE_INSENSITIVE_IS_RDN_ATTRS_FLAG) + if (attr->Value.cbData != + name->rgRDN[i].rgRDNAttr[j].Value.cbData) + match = FALSE; + else if (dwFlags & CERT_CASE_INSENSITIVE_IS_RDN_ATTRS_FLAG) match = !strncmpiW(nameStr, attrStr, attr->Value.cbData / sizeof(WCHAR)); else @@ -1870,7 +1873,10 @@ static BOOL find_matching_rdn_attr(DWORD dwFlags, const CERT_NAME_INFO *name, (LPCSTR)name->rgRDN[i].rgRDNAttr[j].Value.pbData; LPCSTR attrStr = (LPCSTR)attr->Value.pbData;
- if (dwFlags & CERT_CASE_INSENSITIVE_IS_RDN_ATTRS_FLAG) + if (attr->Value.cbData != + name->rgRDN[i].rgRDNAttr[j].Value.cbData) + match = FALSE; + else if (dwFlags & CERT_CASE_INSENSITIVE_IS_RDN_ATTRS_FLAG) match = !strncasecmp(nameStr, attrStr, attr->Value.cbData); else