Juan Lang : crypt32: Further simplify CertGetNameStringW.

Alexandre Julliard julliard at winehq.org
Wed Sep 9 09:57:55 CDT 2009


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

Author: Juan Lang <juan.lang at gmail.com>
Date:   Tue Sep  8 21:56:11 2009 -0700

crypt32: Further simplify CertGetNameStringW.

---

 dlls/crypt32/str.c |   14 +++++++-------
 1 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/dlls/crypt32/str.c b/dlls/crypt32/str.c
index ab8b947..6e13426 100644
--- a/dlls/crypt32/str.c
+++ b/dlls/crypt32/str.c
@@ -995,21 +995,23 @@ DWORD WINAPI CertGetNameStringW(PCCERT_CONTEXT pCertContext, DWORD dwType,
          szOID_ORGANIZATIONAL_UNIT_NAME, szOID_ORGANIZATION_NAME,
          szOID_RSA_emailAddr };
         CERT_NAME_INFO *nameInfo = NULL;
-        PCERT_RDN_ATTR nameAttr = NULL;
         DWORD bytes = 0, i;
 
         if (CryptDecodeObjectEx(pCertContext->dwCertEncodingType, X509_NAME,
          name->pbData, name->cbData, CRYPT_DECODE_ALLOC_FLAG, NULL, &nameInfo,
          &bytes))
         {
+            PCERT_RDN_ATTR nameAttr = NULL;
+
             for (i = 0; !nameAttr && i < sizeof(simpleAttributeOIDs) /
              sizeof(simpleAttributeOIDs[0]); i++)
                 nameAttr = CertFindRDNAttr(simpleAttributeOIDs[i], nameInfo);
+            if (nameAttr)
+                ret = CertRDNValueToStrW(nameAttr->dwValueType,
+                 &nameAttr->Value, pszNameString, cchNameString);
+            LocalFree(nameInfo);
         }
-        if (nameAttr)
-            ret = CertRDNValueToStrW(nameAttr->dwValueType, &nameAttr->Value,
-             pszNameString, cchNameString);
-        else
+        if (!ret)
         {
             CERT_ALT_NAME_INFO *altInfo;
             PCERT_ALT_NAME_ENTRY entry = cert_find_alt_name_entry(pCertContext,
@@ -1035,8 +1037,6 @@ DWORD WINAPI CertGetNameStringW(PCCERT_CONTEXT pCertContext, DWORD dwType,
                 LocalFree(altInfo);
             }
         }
-        if (nameInfo)
-            LocalFree(nameInfo);
         break;
     }
     case CERT_NAME_FRIENDLY_DISPLAY_TYPE:




More information about the wine-cvs mailing list