Dmitry Timoshkov : crypt32: Forward CryptDecodeObject to CryptDecodeObjectEx.

Alexandre Julliard julliard at winehq.org
Thu Oct 25 15:24:35 CDT 2018


Module: wine
Branch: master
Commit: 98fad7df790f2164236306cae99bcd3b44d8963d
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=98fad7df790f2164236306cae99bcd3b44d8963d

Author: Dmitry Timoshkov <dmitry at baikal.ru>
Date:   Thu Oct 25 14:50:28 2018 +0300

crypt32: Forward CryptDecodeObject to CryptDecodeObjectEx.

Signed-off-by: Dmitry Timoshkov <dmitry at baikal.ru>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/crypt32/decode.c | 44 ++------------------------------------------
 1 file changed, 2 insertions(+), 42 deletions(-)

diff --git a/dlls/crypt32/decode.c b/dlls/crypt32/decode.c
index b177872..06d456a 100644
--- a/dlls/crypt32/decode.c
+++ b/dlls/crypt32/decode.c
@@ -6276,48 +6276,8 @@ BOOL WINAPI CryptDecodeObject(DWORD dwCertEncodingType, LPCSTR lpszStructType,
  const BYTE *pbEncoded, DWORD cbEncoded, DWORD dwFlags, void *pvStructInfo,
  DWORD *pcbStructInfo)
 {
-    BOOL ret = FALSE;
-    CryptDecodeObjectFunc pCryptDecodeObject = NULL;
-    CryptDecodeObjectExFunc pCryptDecodeObjectEx = NULL;
-    HCRYPTOIDFUNCADDR hFunc = NULL;
-
-    TRACE_(crypt)("(0x%08x, %s, %p, %d, 0x%08x, %p, %p)\n", dwCertEncodingType,
-     debugstr_a(lpszStructType), pbEncoded, cbEncoded, dwFlags,
-     pvStructInfo, pcbStructInfo);
-
-    if (!pvStructInfo && !pcbStructInfo)
-    {
-        SetLastError(ERROR_INVALID_PARAMETER);
-        return FALSE;
-    }
-    if (cbEncoded > MAX_ENCODED_LEN)
-    {
-        SetLastError(CRYPT_E_ASN1_LARGE);
-        return FALSE;
-    }
-
-    if (!(pCryptDecodeObjectEx = CRYPT_GetBuiltinDecoder(dwCertEncodingType,
-     lpszStructType)))
-    {
-        TRACE_(crypt)("OID %s not found or unimplemented, looking for DLL\n",
-         debugstr_a(lpszStructType));
-        pCryptDecodeObject = CRYPT_LoadDecoderFunc(dwCertEncodingType,
-         lpszStructType, &hFunc);
-        if (!pCryptDecodeObject)
-            pCryptDecodeObjectEx = CRYPT_LoadDecoderExFunc(dwCertEncodingType,
-             lpszStructType, &hFunc);
-    }
-    if (pCryptDecodeObject)
-        ret = pCryptDecodeObject(dwCertEncodingType, lpszStructType,
-         pbEncoded, cbEncoded, dwFlags, pvStructInfo, pcbStructInfo);
-    else if (pCryptDecodeObjectEx)
-        ret = pCryptDecodeObjectEx(dwCertEncodingType, lpszStructType,
-         pbEncoded, cbEncoded, dwFlags & ~CRYPT_DECODE_ALLOC_FLAG, NULL,
-         pvStructInfo, pcbStructInfo);
-    if (hFunc)
-        CryptFreeOIDFunctionAddress(hFunc, 0);
-    TRACE_(crypt)("returning %d\n", ret);
-    return ret;
+    return CryptDecodeObjectEx(dwCertEncodingType, lpszStructType,
+        pbEncoded, cbEncoded, dwFlags, NULL, pvStructInfo, pcbStructInfo);
 }
 
 BOOL WINAPI CryptDecodeObjectEx(DWORD dwCertEncodingType, LPCSTR lpszStructType,




More information about the wine-cvs mailing list