Module: wine Branch: master Commit: d34b3bf63c4c4b74c2ee9683e73a5b37e3b0b2cf URL: http://source.winehq.org/git/wine.git/?a=commit;h=d34b3bf63c4c4b74c2ee9683e7...
Author: Juan Lang juan.lang@gmail.com Date: Sat Oct 20 14:24:10 2007 -0700
crypt32: Don't assume string pointer has been set if length is 0.
---
dlls/crypt32/encode.c | 8 ++++++-- 1 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/dlls/crypt32/encode.c b/dlls/crypt32/encode.c index 5c2b9be..c3d7209 100644 --- a/dlls/crypt32/encode.c +++ b/dlls/crypt32/encode.c @@ -913,8 +913,12 @@ static BOOL CRYPT_AsnEncodeBMPString(const CERT_NAME_VALUE *value, LPCWSTR str = (LPCWSTR)value->Value.pbData; DWORD bytesNeeded, lenBytes, strLen;
- strLen = value->Value.cbData ? value->Value.cbData / sizeof(WCHAR) : - lstrlenW(str); + if (value->Value.cbData) + strLen = value->Value.cbData / sizeof(WCHAR); + else if (value->Value.pbData) + strLen = lstrlenW(str); + else + strLen = 0; CRYPT_EncodeLen(strLen * 2, NULL, &lenBytes); bytesNeeded = 1 + lenBytes + strLen * 2; if (!pbEncoded)