Juan Lang : crypt32: Always set *ppszError.

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


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

Author: Juan Lang <juan.lang at gmail.com>
Date:   Sat Oct 20 14:26:00 2007 -0700

crypt32: Always set *ppszError.

---

 dlls/crypt32/str.c |   15 +++++++++++----
 1 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/dlls/crypt32/str.c b/dlls/crypt32/str.c
index a4dc60f..9817b9e 100644
--- a/dlls/crypt32/str.c
+++ b/dlls/crypt32/str.c
@@ -475,11 +475,16 @@ BOOL WINAPI CertStrToNameA(DWORD dwCertEncodingType, LPCSTR pszX500,
              ppszError ? (LPCWSTR *)&errorStr : NULL);
             if (ppszError)
             {
-                DWORD i;
+                if (!ret)
+                {
+                    DWORD i;
 
-                *ppszError = pszX500;
-                for (i = 0; i < errorStr - x500; i++)
-                    *ppszError = CharNextA(*ppszError);
+                    *ppszError = pszX500;
+                    for (i = 0; i < errorStr - x500; i++)
+                        *ppszError = CharNextA(*ppszError);
+                }
+                else
+                    *ppszError = NULL;
             }
             CryptMemFree(x500);
         }
@@ -827,6 +832,8 @@ BOOL WINAPI CertStrToNameW(DWORD dwCertEncodingType, LPCWSTR pszX500,
     CRYPT_FreeKeynameKeeper(&keeper);
     if (!error)
     {
+        if (ppszError)
+            *ppszError = NULL;
         ret = CryptEncodeObjectEx(dwCertEncodingType, X509_NAME, &info,
          0, NULL, pbEncoded, pcbEncoded);
         for (i = 0; i < info.cRDN; i++)




More information about the wine-cvs mailing list