fix advapi32 crypt winetests
authorChristoph von Wittich <christoph_vw@reactos.org>
Sat, 27 Jun 2009 23:55:29 +0000 (23:55 +0000)
committerChristoph von Wittich <christoph_vw@reactos.org>
Sat, 27 Jun 2009 23:55:29 +0000 (23:55 +0000)
patch sent to wine

svn path=/trunk/; revision=41654

reactos/dll/win32/advapi32/crypt/crypt.c

index 19b85b7..d3e3cd5 100644 (file)
@@ -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)) )
        {