From 21351adff5a3b9199ded4c20b71d55658e6288bc Mon Sep 17 00:00:00 2001 From: Christoph von Wittich Date: Sat, 27 Jun 2009 23:55:29 +0000 Subject: [PATCH] fix advapi32 crypt winetests patch sent to wine svn path=/trunk/; revision=41654 --- reactos/dll/win32/advapi32/crypt/crypt.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/reactos/dll/win32/advapi32/crypt/crypt.c b/reactos/dll/win32/advapi32/crypt/crypt.c index 19b85b7c5d8..d3e3cd578ba 100644 --- a/reactos/dll/win32/advapi32/crypt/crypt.c +++ b/reactos/dll/win32/advapi32/crypt/crypt.c @@ -1192,6 +1192,9 @@ BOOL WINAPI CryptEnumProvidersA (DWORD dwIndex, DWORD *pdwReserved, TRACE("(%ld, %p, %08ld, %p, %p, %p)\n", dwIndex, pdwReserved, dwFlags, pdwProvType, pszProvName, pcbProvName); + if (*pcbProvName > INT_MAX) + *pcbProvName = INT_MAX; + if(!CryptEnumProvidersW(dwIndex, pdwReserved, dwFlags, pdwProvType, NULL, &bufsize)) return FALSE; if ( pszProvName && !(str = CRYPT_Alloc(bufsize)) ) @@ -1314,6 +1317,9 @@ BOOL WINAPI CryptEnumProviderTypesA (DWORD dwIndex, DWORD *pdwReserved, TRACE("(%ld, %p, %08ld, %p, %p, %p)\n", dwIndex, pdwReserved, dwFlags, pdwProvType, pszTypeName, pcbTypeName); + if (*pcbTypeName > INT_MAX) + *pcbTypeName = INT_MAX; + if(!CryptEnumProviderTypesW(dwIndex, pdwReserved, dwFlags, pdwProvType, NULL, &bufsize)) return FALSE; if ( pszTypeName && !(str = CRYPT_Alloc(bufsize)) ) @@ -1513,6 +1519,9 @@ BOOL WINAPI CryptGetDefaultProviderA (DWORD dwProvType, DWORD *pdwReserved, TRACE("(%d, %p, %08x, %p, %p)\n", dwProvType, pdwReserved, dwFlags, pszProvName, pcbProvName); + if (*pcbProvName > INT_MAX) + *pcbProvName = INT_MAX; + CryptGetDefaultProviderW(dwProvType, pdwReserved, dwFlags, NULL, &bufsize); if ( pszProvName && !(str = CRYPT_Alloc(bufsize)) ) {