Fixed some issues found by winapi_check.

This commit is contained in:
Patrik Stridvall 2002-04-29 18:48:56 +00:00 committed by Alexandre Julliard
parent c56ed505f3
commit fc2be7edcc
9 changed files with 62 additions and 43 deletions

View File

@ -17,12 +17,13 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
///////////////////////
//
// TODO:
// - Reference counting
// - Thread-safing
// - Signature checking
/***********************************************************************
*
* TODO:
* - Reference counting
* - Thread-safing
* - Signature checking
*/
#include <time.h>
#include <stdlib.h>
@ -140,7 +141,7 @@ static inline BOOL CRYPT_ANSIToUnicode(LPCSTR str, LPWSTR* wstr, int wstrsize)
return FALSE;
}
//These next 2 functions are used by the VTableProvStruc structure
/* These next 2 functions are used by the VTableProvStruc structure */
BOOL CRYPT_VerifyImage(LPCSTR lpszImage, BYTE* pData)
{
if (!lpszImage || !pData)
@ -148,7 +149,7 @@ BOOL CRYPT_VerifyImage(LPCSTR lpszImage, BYTE* pData)
SetLastError(ERROR_INVALID_PARAMETER);
return FALSE;
}
//FIXME: Actually verify the image!
/* FIXME: Actually verify the image! */
return TRUE;
}
@ -205,8 +206,9 @@ PCRYPTPROV CRYPT_LoadProvider(PSTR pImage)
CRYPT_GetProvFunc(CPSignHash);
CRYPT_GetProvFunc(CPVerifySignature);
//FIXME: Not sure what the pbContextInfo field is for
// Does it need memory allocation?
/* FIXME: Not sure what the pbContextInfo field is for.
* Does it need memory allocation?
*/
provider->pVTable->Version = 3;
provider->pVTable->pFuncVerifyImage = CRYPT_VerifyImage;
provider->pVTable->pFuncReturnhWnd = CRYPT_ReturnhWnd;
@ -251,8 +253,10 @@ BOOL WINAPI CryptAcquireContextA (HCRYPTPROV *phProv, LPCSTR pszContainer,
PCRYPTPROV pProv = NULL;
HKEY key;
PSTR imagepath = NULL, keyname = NULL, provname = NULL, temp = NULL;
// BYTE* signature;
DWORD keytype, type, len;//, siglen;
#if 0
BYTE* signature;
#endif
DWORD keytype, type, len;
TRACE("(%p, %s, %s, %ld, %08lx)\n", phProv, pszContainer,
pszProvider, dwProvType, dwFlags);
@ -270,8 +274,9 @@ BOOL WINAPI CryptAcquireContextA (HCRYPTPROV *phProv, LPCSTR pszContainer,
if (!pszProvider)
{
//No CSP name specified so try the user default CSP first
// then try the machine default CSP
/* No CSP name specified so try the user default CSP first
* then try the machine default CSP
*/
if ( !(keyname = CRYPT_GetTypeKeyName(dwProvType, TRUE)) )
CRYPT_ReturnLastError(ERROR_NOT_ENOUGH_MEMORY);
if (RegOpenKeyA(HKEY_CURRENT_USER, keyname, &key))
@ -316,7 +321,9 @@ BOOL WINAPI CryptAcquireContextA (HCRYPTPROV *phProv, LPCSTR pszContainer,
}
if (!ExpandEnvironmentStringsA(temp, imagepath, len)) goto error;
// if (!CRYPT_VerifyImage(imagepath, signature)) goto error;
#if 0
if (!CRYPT_VerifyImage(imagepath, signature)) goto error;
#endif
pProv = CRYPT_LoadProvider(imagepath);
CRYPT_Free(temp);
CRYPT_Free(imagepath);
@ -324,9 +331,10 @@ BOOL WINAPI CryptAcquireContextA (HCRYPTPROV *phProv, LPCSTR pszContainer,
if (pProv->pFuncs->pCPAcquireContext(&pProv->hPrivate, (CHAR*)pszContainer, dwFlags, pProv->pVTable))
{
//MSDN: When this flag is set, the value returned in phProv is undefined,
// and thus, the CryptReleaseContext function need not be called afterwards.
//Therefore, we must clean up everything now.
/* MSDN: When this flag is set, the value returned in phProv is undefined,
* and thus, the CryptReleaseContext function need not be called afterwards.
* Therefore, we must clean up everything now.
*/
if (dwFlags & CRYPT_DELETEKEYSET)
{
FreeLibrary(pProv->hModule);
@ -340,7 +348,7 @@ BOOL WINAPI CryptAcquireContextA (HCRYPTPROV *phProv, LPCSTR pszContainer,
}
return TRUE;
}
//FALLTHROUGH TO ERROR IF FALSE - CSP internal error!
/* FALLTHROUGH TO ERROR IF FALSE - CSP internal error! */
error:
if (pProv)
{
@ -393,7 +401,7 @@ BOOL WINAPI CryptContextAddRef (HCRYPTPROV hProv, DWORD *pdwReserved, DWORD dwFl
{
FIXME("(0x%lx, %p, %08lx): stub!\n", hProv, pdwReserved, dwFlags);
return FALSE;
//InterlockIncrement??
/* InterlockIncrement?? */
}
/******************************************************************************
@ -411,10 +419,12 @@ BOOL WINAPI CryptReleaseContext (HCRYPTPROV hProv, DWORD dwFlags)
SetLastError(NTE_BAD_UID);
return FALSE;
}
//FIXME: Decrement the counter here first if possible
/* FIXME: Decrement the counter here first if possible */
ret = pProv->pFuncs->pCPReleaseContext(pProv->hPrivate, dwFlags);
FreeLibrary(pProv->hModule);
// CRYPT_Free(pProv->pVTable->pContextInfo);
#if 0
CRYPT_Free(pProv->pVTable->pContextInfo);
#endif
CRYPT_Free(pProv->pVTable->pszProvName);
CRYPT_Free(pProv->pVTable);
CRYPT_Free(pProv->pFuncs);
@ -465,7 +475,7 @@ BOOL WINAPI CryptCreateHash (HCRYPTPROV hProv, ALG_ID Algid, HCRYPTKEY hKey,
key ? key->hPrivate : 0, 0, &hash->hPrivate))
return TRUE;
//CSP error!
/* CSP error! */
CRYPT_Free(hash);
return FALSE;
}
@ -513,7 +523,7 @@ BOOL WINAPI CryptDeriveKey (HCRYPTPROV hProv, ALG_ID Algid, HCRYPTHASH hBaseData
if (prov->pFuncs->pCPDeriveKey(prov->hPrivate, Algid, hash->hPrivate, dwFlags, &key->hPrivate))
return TRUE;
//CSP error!
/* CSP error! */
CRYPT_Free(key);
return FALSE;
}
@ -688,7 +698,7 @@ BOOL WINAPI CryptEnumProvidersW (DWORD dwIndex, DWORD *pdwReserved,
{
PSTR str = NULL;
DWORD strlen;
BOOL ret;// = FALSE;
BOOL ret; /* = FALSE; */
TRACE("(%ld, %p, %08ld, %p, %p, %p)\n", dwIndex, pdwReserved, dwFlags,
pdwProvType, pszProvName, pcbProvName);
@ -736,7 +746,7 @@ BOOL WINAPI CryptEnumProviderTypesA (DWORD dwIndex, DWORD *pdwReserved,
return FALSE;
RegOpenKeyA(hKey, keyname, &hSubkey);
ch = keyname + strlen(keyname);
//Convert "Type 000" to 0, etc/
/* Convert "Type 000" to 0, etc/ */
*pdwProvType = *(--ch) - '0';
*pdwProvType += (*(--ch) - '0') * 10;
*pdwProvType += (*(--ch) - '0') * 100;
@ -814,7 +824,7 @@ BOOL WINAPI CryptGenKey (HCRYPTPROV hProv, ALG_ID Algid, DWORD dwFlags, HCRYPTKE
if (prov->pFuncs->pCPGenKey(prov->hPrivate, Algid, dwFlags, &key->hPrivate))
return TRUE;
//CSP error!
/* CSP error! */
CRYPT_Free(key);
return FALSE;
}
@ -951,7 +961,7 @@ BOOL WINAPI CryptGetUserKey (HCRYPTPROV hProv, DWORD dwKeySpec, HCRYPTKEY *phUse
if (prov->pFuncs->pCPGetUserKey(prov->hPrivate, dwKeySpec, &key->hPrivate))
return TRUE;
//CSP Error
/* CSP Error */
CRYPT_Free(key);
return FALSE;
}
@ -1188,8 +1198,8 @@ BOOL WINAPI CryptSetProvParam (HCRYPTPROV hProv, DWORD dwParam, BYTE *pbData, DW
}
if (dwFlags & PP_CLIENT_HWND)
{
//FIXME: Should verify the parameter
if (pbData /*&& IsWindow((HWND)pbData)*/)
/* FIXME: Should verify the parameter */
if (pbData /* && IsWindow((HWND)pbData) */)
{
crypt_hWindow = (HWND)(pbData);
return TRUE;
@ -1198,7 +1208,7 @@ BOOL WINAPI CryptSetProvParam (HCRYPTPROV hProv, DWORD dwParam, BYTE *pbData, DW
return FALSE;
}
}
//All other flags go to the CSP
/* All other flags go to the CSP */
return prov->pFuncs->pCPSetProvParam(prov->hPrivate, dwParam, pbData, dwFlags);
}

View File

@ -2965,7 +2965,7 @@ _write_bitmap(HBITMAP hBitmap, LPSTREAM pstm, int cx, int cy)
bmih->biHeight = nheight;
if(bitCount == 1) {
//Hack.
/* Hack. */
LPBITMAPINFO inf = (LPBITMAPINFO)bmih;
inf->bmiColors[0].rgbRed = inf->bmiColors[0].rgbGreen = inf->bmiColors[0].rgbBlue = 0;
inf->bmiColors[1].rgbRed = inf->bmiColors[1].rgbGreen = inf->bmiColors[1].rgbBlue = 0xff;

View File

@ -953,7 +953,7 @@ static LRESULT FILEDLG95_InitControls(HWND hwnd)
TBADDBITMAP tba[] =
{
{ HINST_COMMCTRL, IDB_VIEW_SMALL_COLOR },
{ COMDLG32_hInstance, 800 } // desktop icon
{ COMDLG32_hInstance, 800 } /* desktop icon */
};
RECT rectTB;

View File

@ -168,7 +168,7 @@ debug_channels ()
@ stub CryptVerifyMessageSignatureWithKey
@ stub CryptVerifySignatureU
@ stub I_CryptAllocTls
@ stdcall I_CryptCreateLruCache(long) I_CryptCreateLruCache
@ stdcall I_CryptCreateLruCache(long long) I_CryptCreateLruCache
@ stub I_CryptCreateLruEntry
@ stub I_CryptDetachTls
@ stdcall I_CryptFindLruEntryData(long) I_CryptFindLruEntryData

View File

@ -569,6 +569,7 @@ static int FreePrintJob(HANDLE16 hJob)
/**********************************************************************
* OpenJob (GDI.240)
* OpenJob16 (GDI32.@)
*
*/
HPJOB16 WINAPI OpenJob16(LPCSTR lpOutput, LPCSTR lpTitle, HDC16 hDC)
@ -615,6 +616,7 @@ HPJOB16 WINAPI OpenJob16(LPCSTR lpOutput, LPCSTR lpTitle, HDC16 hDC)
/**********************************************************************
* CloseJob (GDI.243)
* CloseJob16 (GDI32.@)
*
*/
INT16 WINAPI CloseJob16(HPJOB16 hJob)
@ -637,6 +639,7 @@ INT16 WINAPI CloseJob16(HPJOB16 hJob)
/**********************************************************************
* WriteSpool (GDI.241)
* WriteSpool16 (GDI32.@)
*
*/
INT16 WINAPI WriteSpool16(HPJOB16 hJob, LPSTR lpData, INT16 cch)
@ -784,7 +787,8 @@ LPBYTE lpPrinterData, int cbData, int what)
}
/******************************************************************
* DrvGetPrinterData [GDI.282]
* DrvGetPrinterData (GDI.282)
* DrvGetPrinterData16 (GDI32.@)
*
*/
DWORD WINAPI DrvGetPrinterData16(LPSTR lpPrinter, LPSTR lpProfile,
@ -878,7 +882,8 @@ failed:
/******************************************************************
* DrvSetPrinterData [GDI.281]
* DrvSetPrinterData (GDI.281)
* DrvSetPrinterData16 (GDI32.@)
*
*/
DWORD WINAPI DrvSetPrinterData16(LPSTR lpPrinter, LPSTR lpProfile,

View File

@ -1341,8 +1341,10 @@ int _write(int fd, const void* buf, unsigned int count)
HANDLE hand = msvcrt_fdtoh(fd);
/* Dont trace small writes, it gets *very* annoying */
// if (count > 32)
// TRACE(":fd (%d) handle (%d) buf (%p) len (%d)\n",fd,hand,buf,count);
#if 0
if (count > 32)
TRACE(":fd (%d) handle (%d) buf (%p) len (%d)\n",fd,hand,buf,count);
#endif
if (hand == INVALID_HANDLE_VALUE)
return -1;

View File

@ -758,7 +758,7 @@ VOID RICHED32_Register(void)
wndClass.cbWndExtra = 0; /*(sizeof(RICHED32_INFO *);*/
wndClass.hCursor = LoadCursorA(0, IDC_ARROWA);
wndClass.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
wndClass.lpszClassName = RICHEDIT_CLASS10A;//WC_RICHED32A;
wndClass.lpszClassName = RICHEDIT_CLASS10A; /* WC_RICHED32A; */
RegisterClassA (&wndClass);
}

View File

@ -55,7 +55,9 @@ typedef struct tagPOLICYDAT
DWORD cache; /* cached value or 0xffffffff for invalid */
} POLICYDATA, *LPPOLICYDATA;
//extern POLICYDATA sh32_policy_table[SHELL_MAX_POLICIES];
#if 0
extern POLICYDATA sh32_policy_table[SHELL_MAX_POLICIES];
#endif
/* application strings */

View File

@ -247,7 +247,7 @@ HINTERNET WINAPI HTTP_HttpOpenRequestA(HINTERNET hHttpSession,
if (NULL != lpszReferrer && strlen(lpszReferrer))
HTTP_ProcessHeader(lpwhr, HTTP_REFERER, lpszReferrer, HTTP_ADDHDR_FLAG_COALESCE);
//! FIXME
/* FIXME */
if (NULL != lpszAcceptTypes && strlen(*lpszAcceptTypes))
HTTP_ProcessHeader(lpwhr, HTTP_ACCEPT, *lpszAcceptTypes, HTTP_ADDHDR_FLAG_COALESCE);
@ -459,7 +459,7 @@ BOOL WINAPI HttpQueryInfoA(HINTERNET hHttpRequest, DWORD dwInfoLevel,
}
else
{
//! Copy strncpy(lpBuffer, lphttpHdr[*lpdwIndex], len);
/* Copy strncpy(lpBuffer, lphttpHdr[*lpdwIndex], len); */
(*lpdwIndex)++;
}
}
@ -1167,7 +1167,7 @@ BOOL HTTP_ProcessHeader(LPWININETHTTPREQA lpwhr, LPCSTR field, LPCSTR value, DWO
if (len <= 0)
{
//! if custom header delete from array
/* if custom header delete from array */
HeapFree(GetProcessHeap(), 0, lphttpHdr->lpszValue);
lphttpHdr->lpszValue = NULL;
bSuccess = TRUE;