From d1a05c810e42e67116ce9a71aab52a9bec78ac19 Mon Sep 17 00:00:00 2001 From: Olga Kornievskaia Date: Wed, 14 Mar 2012 14:50:23 -0400 Subject: [PATCH] fixing open a file as a directory we should map this failure to STATUS_NOT_A_DIRECTORY notepad.exe had been known to do this --- daemon/open.c | 2 +- sys/nfs41_driver.c | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/daemon/open.c b/daemon/open.c index 77068b9..f00130b 100644 --- a/daemon/open.c +++ b/daemon/open.c @@ -507,7 +507,7 @@ static int handle_open(nfs41_upcall *upcall) eprintf("trying to open file %s as a directory\n", state->path.path); #ifdef NOTEPAD_OPEN_FILE_AS_DIRFILE_FIXED - status = ERROR_ACCESS_DENIED; + status = ERROR_BAD_FILE_TYPE; goto out_free_state; #endif } diff --git a/sys/nfs41_driver.c b/sys/nfs41_driver.c index b707e7c..02a56fb 100644 --- a/sys/nfs41_driver.c +++ b/sys/nfs41_driver.c @@ -3277,6 +3277,7 @@ NTSTATUS map_open_errors( case ERROR_REPARSE: return STATUS_REPARSE; case ERROR_TOO_MANY_LINKS: return STATUS_TOO_MANY_LINKS; case ERROR_DIRECTORY: return STATUS_FILE_IS_A_DIRECTORY; + case ERROR_BAD_FILE_TYPE: return STATUS_NOT_A_DIRECTORY; default: print_error("[ERROR] nfs41_Create: upcall returned %d returning " "STATUS_INSUFFICIENT_RESOURCES\n", status);