Module: wine Branch: master Commit: b86a7644d99b23a4e3bcb197f793963ad6638d33 URL: http://source.winehq.org/git/wine.git/?a=commit;h=b86a7644d99b23a4e3bcb197f7... Author: Detlef Riekenberg <wine.dev(a)web.de> Date: Mon Jan 15 05:38:28 2007 +0100 winspool: More error checks for XcvDataW. --- dlls/winspool.drv/info.c | 12 ++++++++++++ 1 files changed, 12 insertions(+), 0 deletions(-) diff --git a/dlls/winspool.drv/info.c b/dlls/winspool.drv/info.c index f3a51d8..3eb382f 100644 --- a/dlls/winspool.drv/info.c +++ b/dlls/winspool.drv/info.c @@ -6684,6 +6684,18 @@ BOOL WINAPI XcvDataW( HANDLE hXcv, LPCWS return FALSE; } + if (!pcbOutputNeeded) { + SetLastError(ERROR_INVALID_PARAMETER); + return FALSE; + } + + if (!pszDataName || !pdwStatus || (!pOutputData && (cbOutputData > 0))) { + SetLastError(RPC_X_NULL_REF_POINTER); + return FALSE; + } + + *pcbOutputNeeded = 0; + *pdwStatus = printer->pm->monitor->pfnXcvDataPort(printer->hXcv, pszDataName, pInputData, cbInputData, pOutputData, cbOutputData, pcbOutputNeeded);