From f2686d4620b5dc4c079c91cec65ca878a2c684fe Mon Sep 17 00:00:00 2001 From: Vitaliy Margolen Date: Wed, 2 Nov 2005 14:15:09 +0000 Subject: [PATCH] Fix error returned when opening nonexistent pipes. --- dlls/ntdll/tests/om.c | 4 ++-- server/named_pipe.c | 6 +----- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/dlls/ntdll/tests/om.c b/dlls/ntdll/tests/om.c index 2c651bb28fd..bc7cf6018a4 100644 --- a/dlls/ntdll/tests/om.c +++ b/dlls/ntdll/tests/om.c @@ -127,13 +127,13 @@ void test_namespace_pipe(void) pRtlInitUnicodeString(&str, buffer3); InitializeObjectAttributes(&attr, &str, 0, 0, NULL); status = pNtOpenFile(&h, GENERIC_READ, &attr, &iosb, FILE_SHARE_READ|FILE_SHARE_WRITE, FILE_OPEN); - todo_wine ok(status == STATUS_OBJECT_PATH_NOT_FOUND, + todo_wine ok(status == STATUS_OBJECT_PATH_NOT_FOUND || status == STATUS_PIPE_NOT_AVAILABLE, "pNtOpenFile should have failed with STATUS_OBJECT_PATH_NOT_FOUND got(%08lx)\n", status); pRtlInitUnicodeString(&str, buffer4); InitializeObjectAttributes(&attr, &str, OBJ_CASE_INSENSITIVE, 0, NULL); status = pNtOpenFile(&h, GENERIC_READ, &attr, &iosb, FILE_SHARE_READ|FILE_SHARE_WRITE, FILE_OPEN); - todo_wine ok(status == STATUS_OBJECT_NAME_NOT_FOUND, + ok(status == STATUS_OBJECT_NAME_NOT_FOUND, "pNtOpenFile should have failed with STATUS_OBJECT_NAME_NOT_FOUND got(%08lx)\n", status); pNtClose(pipe); diff --git a/server/named_pipe.c b/server/named_pipe.c index 0d475e5b781..ab8000fa61f 100644 --- a/server/named_pipe.c +++ b/server/named_pipe.c @@ -598,12 +598,8 @@ DECL_HANDLER(open_named_pipe) struct named_pipe *pipe; int fds[2]; - pipe = open_named_pipe( get_req_data(), get_req_data_size(), req->attributes ); - if (!pipe) - { - set_error( STATUS_NO_SUCH_FILE ); + if (!(pipe = open_named_pipe( get_req_data(), get_req_data_size(), req->attributes ))) return; - } server = find_server2( pipe, ps_idle_server, ps_wait_open ); release_object( pipe );