[PATCH 4/4] server: Don't allow an empty desktop name.
Huw Davies
huw at codeweavers.com
Wed Jun 24 04:19:21 CDT 2020
Signed-off-by: Huw Davies <huw at codeweavers.com>
---
dlls/user32/tests/winstation.c | 2 --
server/winstation.c | 5 +++++
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/dlls/user32/tests/winstation.c b/dlls/user32/tests/winstation.c
index d239ead6e98..76aa8a533b9 100644
--- a/dlls/user32/tests/winstation.c
+++ b/dlls/user32/tests/winstation.c
@@ -296,9 +296,7 @@ static void test_handles(void)
SetLastError( 0xdeadbeef );
d2 = CreateDesktopA( "", NULL, NULL, 0, DESKTOP_ALL_ACCESS, NULL );
- todo_wine
ok( !d2, "create empty desktop succeeded\n" );
- todo_wine
ok( GetLastError() == ERROR_INVALID_HANDLE, "wrong error %u\n", GetLastError() );
SetLastError( 0xdeadbeef );
diff --git a/server/winstation.c b/server/winstation.c
index 43d112334d4..2962ea0df4a 100644
--- a/server/winstation.c
+++ b/server/winstation.c
@@ -513,6 +513,11 @@ DECL_HANDLER(create_desktop)
struct unicode_str name = get_req_unicode_str();
reply->handle = 0;
+ if (!name.len)
+ {
+ set_error( STATUS_INVALID_HANDLE );
+ return;
+ }
if ((winstation = get_process_winstation( current->process, WINSTA_CREATEDESKTOP )))
{
if ((desktop = create_desktop( &name, req->attributes, req->flags, winstation )))
--
2.23.0
More information about the wine-devel
mailing list