nt_to_unix_file_name doesn't really consider STATUS_NO_SUCH_FILE to be an error, and it's not the only error that that function can return.
From: Alex Henrie alexhenrie24@gmail.com
nt_to_unix_file_name doesn't really consider STATUS_NO_SUCH_FILE to be an error, and it's not the only error that that function can return. --- dlls/ntdll/unix/file.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/dlls/ntdll/unix/file.c b/dlls/ntdll/unix/file.c index ff1618f31fd..00af988e2a4 100644 --- a/dlls/ntdll/unix/file.c +++ b/dlls/ntdll/unix/file.c @@ -4228,7 +4228,11 @@ NTSTATUS WINAPI NtQueryFullAttributesFile( const OBJECT_ATTRIBUTES *attr, } free( unix_name ); } - else WARN( "%s not found (%x)\n", debugstr_us(attr->ObjectName), status ); + else if (status == STATUS_NO_SUCH_FILE) + { + WARN( "%s not found (%x)\n", debugstr_us(attr->ObjectName), status ); + free( unix_name ); + } free( redir.Buffer ); return status; } @@ -4258,7 +4262,11 @@ NTSTATUS WINAPI NtQueryAttributesFile( const OBJECT_ATTRIBUTES *attr, FILE_BASIC status = fill_file_info( &st, attributes, info, FileBasicInformation ); free( unix_name ); } - else WARN( "%s not found (%x)\n", debugstr_us(attr->ObjectName), status ); + else if (status == STATUS_NO_SUCH_FILE) + { + WARN( "%s not found (%x)\n", debugstr_us(attr->ObjectName), status ); + free( unix_name ); + } free( redir.Buffer ); return status; }
This never happens, when disposition is FILE_OPEN the file has to exist.
This merge request was closed by Alexandre Julliard.