Juan Lang : crypt32: Don't return from a try block.

Alexandre Julliard julliard at wine.codeweavers.com
Wed Jul 19 04:02:28 CDT 2006


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

Author: Juan Lang <juan_lang at yahoo.com>
Date:   Tue Jul 18 06:41:21 2006 -0700

crypt32: Don't return from a try block.

---

 dlls/crypt32/encode.c |   45 +++++++++++++++++++++++++--------------------
 1 files changed, 25 insertions(+), 20 deletions(-)

diff --git a/dlls/crypt32/encode.c b/dlls/crypt32/encode.c
index fc8235a..2aa6b67 100644
--- a/dlls/crypt32/encode.c
+++ b/dlls/crypt32/encode.c
@@ -945,32 +945,37 @@ static BOOL WINAPI CRYPT_AsnEncodeNameVa
         case CERT_RDN_ANY_TYPE:
             /* explicitly disallowed */
             SetLastError(E_INVALIDARG);
-            return FALSE;
+            ret = FALSE;
+            break;
         default:
             FIXME("String type %ld unimplemented\n", value->dwValueType);
-            return FALSE;
+            ret = FALSE;
         }
-        CRYPT_EncodeLen(encodedLen, NULL, &lenBytes);
-        bytesNeeded = 1 + lenBytes + encodedLen;
-        if (!pbEncoded)
-            *pcbEncoded = bytesNeeded;
-        else
+        if (ret)
         {
-            if ((ret = CRYPT_EncodeEnsureSpace(dwFlags, pEncodePara, pbEncoded,
-             pcbEncoded, bytesNeeded)))
+            CRYPT_EncodeLen(encodedLen, NULL, &lenBytes);
+            bytesNeeded = 1 + lenBytes + encodedLen;
+            if (!pbEncoded)
+                *pcbEncoded = bytesNeeded;
+            else
             {
-                if (dwFlags & CRYPT_ENCODE_ALLOC_FLAG)
-                    pbEncoded = *(BYTE **)pbEncoded;
-                *pbEncoded++ = tag;
-                CRYPT_EncodeLen(encodedLen, pbEncoded, &lenBytes);
-                pbEncoded += lenBytes;
-                switch (value->dwValueType)
+                if ((ret = CRYPT_EncodeEnsureSpace(dwFlags, pEncodePara,
+                 pbEncoded, pcbEncoded, bytesNeeded)))
                 {
-                case CERT_RDN_NUMERIC_STRING:
-                case CERT_RDN_PRINTABLE_STRING:
-                case CERT_RDN_T61_STRING:
-                case CERT_RDN_IA5_STRING:
-                    memcpy(pbEncoded, value->Value.pbData, value->Value.cbData);
+                    if (dwFlags & CRYPT_ENCODE_ALLOC_FLAG)
+                        pbEncoded = *(BYTE **)pbEncoded;
+                    *pbEncoded++ = tag;
+                    CRYPT_EncodeLen(encodedLen, pbEncoded, &lenBytes);
+                    pbEncoded += lenBytes;
+                    switch (value->dwValueType)
+                    {
+                    case CERT_RDN_NUMERIC_STRING:
+                    case CERT_RDN_PRINTABLE_STRING:
+                    case CERT_RDN_T61_STRING:
+                    case CERT_RDN_IA5_STRING:
+                        memcpy(pbEncoded, value->Value.pbData,
+                         value->Value.cbData);
+                    }
                 }
             }
         }




More information about the wine-cvs mailing list