[PATCH v3] ntdll: Only fail lookup_unix_name() early if we actually tried stat().

Alexandre Julliard julliard at winehq.org
Thu Apr 4 07:18:02 CDT 2019


Zebediah Figura <z.figura12 at gmail.com> writes:

> @@ -2646,14 +2646,14 @@ static NTSTATUS lookup_unix_name( const WCHAR *name, int name_len, char **buffer
>                      return STATUS_OBJECT_NAME_COLLISION;
>                  return STATUS_SUCCESS;
>              }
> +
> +            if (!name_len)  /* empty name -> drive root doesn't exist */
> +                return STATUS_OBJECT_PATH_NOT_FOUND;
> +            if (check_case && !redirect && (disposition == FILE_OPEN || disposition == FILE_OVERWRITE))
> +                return STATUS_OBJECT_NAME_NOT_FOUND;
>          }
>      }
>  
> -    if (!name_len)  /* empty name -> drive root doesn't exist */
> -        return STATUS_OBJECT_PATH_NOT_FOUND;
> -    if (check_case && !redirect && (disposition == FILE_OPEN || disposition == FILE_OVERWRITE))
> -        return STATUS_OBJECT_NAME_NOT_FOUND;
> -

This still won't do the right thing if name_len is 0.

-- 
Alexandre Julliard
julliard at winehq.org



More information about the wine-devel mailing list