[USETUP] When opening the target file for dropping readonly mode only use required access.

This avoids the open failing on certain file systems where GENERIC_WRITE access would be denied
for a readonly file.
This is an addendum to 82f44a2.

CORE-14158
This commit is contained in:
Pierre Schweitzer 2018-01-06 12:11:02 +01:00
parent 280d7a9775
commit cc8ccc6eb8
No known key found for this signature in database
GPG key ID: 7545556C3D585B0B

View file

@ -355,9 +355,9 @@ SetupCopyFile(
{
FILE_BASIC_INFORMATION FileBasicInfo;
/* Reattempt to open it */
/* Reattempt to open it with limited access */
Status = NtCreateFile(&FileHandleDest,
GENERIC_WRITE | SYNCHRONIZE,
FILE_WRITE_ATTRIBUTES | SYNCHRONIZE,
&ObjectAttributes,
&IoStatusBlock,
NULL,
@ -369,10 +369,7 @@ SetupCopyFile(
FILE_SYNCHRONOUS_IO_NONALERT,
NULL,
0);
/* Fail for real if we cannot open it that way
* XXX: actually, we should try to refine access rights
* to only have write_attributes, should be enough
*/
/* Fail for real if we cannot open it that way */
if (!NT_SUCCESS(Status))
{
DPRINT1("NtCreateFile failed: %x, %wZ\n", Status, &FileName);