Juan Lang : crypt32: Don' t assume string pointer has been set if length is 0.

Alexandre Julliard julliard at winehq.org
Mon Oct 22 09:55:29 CDT 2007


Module: wine
Branch: master
Commit: d34b3bf63c4c4b74c2ee9683e73a5b37e3b0b2cf
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=d34b3bf63c4c4b74c2ee9683e73a5b37e3b0b2cf

Author: Juan Lang <juan.lang at 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)




More information about the wine-cvs mailing list