Module: wine Branch: master Commit: b86a7644d99b23a4e3bcb197f793963ad6638d33 URL: http://source.winehq.org/git/wine.git/?a=commit;h=b86a7644d99b23a4e3bcb197f7...
Author: Detlef Riekenberg wine.dev@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);