[PATCH v2] crypt32: Increase maximum object encode length.

Paul Gofman pgofman at codeweavers.com
Thu Jan 13 09:04:30 CST 2022


E. g., DigiCert CRL file is currently 35MB.

Signed-off-by: Paul Gofman <pgofman at codeweavers.com>
---
v2:
     - add a FIXME if limit checks fails.

 dlls/crypt32/decode.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/dlls/crypt32/decode.c b/dlls/crypt32/decode.c
index 6873cebeae4..d4a13a55a1b 100644
--- a/dlls/crypt32/decode.c
+++ b/dlls/crypt32/decode.c
@@ -47,7 +47,7 @@
 #include "crypt32_private.h"
 
 /* This is a bit arbitrary, but to set some limit: */
-#define MAX_ENCODED_LEN 0x02000000
+#define MAX_ENCODED_LEN 0x04000000
 
 #define ASN_FLAGS_MASK 0xe0
 #define ASN_TYPE_MASK  0x1f
@@ -6411,6 +6411,7 @@ BOOL WINAPI CryptDecodeObjectEx(DWORD dwCertEncodingType, LPCSTR lpszStructType,
     }
     if (cbEncoded > MAX_ENCODED_LEN)
     {
+        FIXME_(crypt)("Returning CRYPT_E_ASN1_LARGE, cbEncoded %u.\n", cbEncoded);
         SetLastError(CRYPT_E_ASN1_LARGE);
         return FALSE;
     }
-- 
2.34.1




More information about the wine-devel mailing list