Detlef Riekenberg : winspool: More error checks for XcvDataW.

Alexandre Julliard julliard at wine.codeweavers.com
Tue Jan 16 05:22:21 CST 2007


Module: wine
Branch: master
Commit: b86a7644d99b23a4e3bcb197f793963ad6638d33
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=b86a7644d99b23a4e3bcb197f793963ad6638d33

Author: Detlef Riekenberg <wine.dev at 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);
 




More information about the wine-cvs mailing list