Module: wine Branch: master Commit: aa4e9c39d25069da7e54dd7c3196277aaf203e1e URL: https://gitlab.winehq.org/wine/wine/-/commit/aa4e9c39d25069da7e54dd7c3196277...
Author: Piotr Caban piotr@codeweavers.com Date: Mon Nov 28 16:14:17 2022 +0100
localspl: Fix parameters validation in FILE StartDocPort.
---
dlls/localspl/localmon.c | 2 +- dlls/localspl/tests/localmon.c | 13 +++++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-)
diff --git a/dlls/localspl/localmon.c b/dlls/localspl/localmon.c index a982d359058..43e6197fa47 100644 --- a/dlls/localspl/localmon.c +++ b/dlls/localspl/localmon.c @@ -509,7 +509,7 @@ static BOOL WINAPI localmon_StartDocPort(HANDLE hport, WCHAR *printer_name,
if (!doc_info || !doc_info->pOutputFile) { - FIXME("set error\n"); + SetLastError(ERROR_INVALID_PARAMETER); return FALSE; }
diff --git a/dlls/localspl/tests/localmon.c b/dlls/localspl/tests/localmon.c index edc0b1f7cbb..931de81a503 100644 --- a/dlls/localspl/tests/localmon.c +++ b/dlls/localspl/tests/localmon.c @@ -914,9 +914,18 @@ static void test_file_port(void) ok(!res, "WritePort succeeded\n"); ok(GetLastError() == ERROR_INVALID_HANDLE, "GetLastError() = %lu\n", GetLastError());
- doc_info.pDocName = (WCHAR *)L"not used"; + SetLastError(0xdeadbeef); + res = pStartDocPort(hport, printer_name, 1, 1, NULL); + ok(!res, "StartDocPort succeeded\n"); + ok(GetLastError() == ERROR_INVALID_PARAMETER, "GetLastError() = %lu\n", GetLastError()); + + memset(&doc_info, 0, sizeof(doc_info)); + SetLastError(0xdeadbeef); + res = pStartDocPort(hport, printer_name, 1, 1, (BYTE *)&doc_info); + ok(!res, "StartDocPort succeeded\n"); + ok(GetLastError() == ERROR_INVALID_PARAMETER, "GetLastError() = %lu\n", GetLastError()); + doc_info.pOutputFile = tempfileW; - doc_info.pDatatype = (WCHAR *)L"not used"; res = pStartDocPort(hport, printer_name, 1, 1, (BYTE *)&doc_info); ok(res, "StartDocPort failed (%lu)\n", GetLastError());