Commit 8e73b48f authored by Esme Povirk's avatar Esme Povirk Committed by Alexandre Julliard

win32u: Reject invalid length in SetWindowPlacement.

parent f91eb0a9
......@@ -12504,10 +12504,8 @@ static void test_window_placement(void)
wp.length = 0;
SetLastError(0xdeadbeef);
ret = SetWindowPlacement(hwnd, &wp);
todo_wine {
ok(!ret, "SetWindowPlacement should have failed\n");
ok(GetLastError() == ERROR_INVALID_PARAMETER, "wrong error %lu\n", GetLastError());
}
DestroyWindow(hwnd);
}
......
......@@ -2567,6 +2567,11 @@ BOOL WINAPI NtUserSetWindowPlacement( HWND hwnd, const WINDOWPLACEMENT *wpl )
{
UINT flags = PLACE_MAX | PLACE_RECT;
if (!wpl) return FALSE;
if (wpl->length != sizeof(*wpl))
{
RtlSetLastWin32Error( ERROR_INVALID_PARAMETER );
return FALSE;
}
if (wpl->flags & WPF_SETMINPOSITION) flags |= PLACE_MIN;
return set_window_placement( hwnd, wpl, flags );
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment