server: Don't grow the mapped file for read-only mappings.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
32c7153fdb
commit
ef716e9d1e
|
@ -1014,9 +1014,7 @@ static void test_MapViewOfFile(void)
|
||||||
map_size.QuadPart = 0x3457;
|
map_size.QuadPart = 0x3457;
|
||||||
status = pNtCreateSection( &mapping, SECTION_QUERY | SECTION_MAP_READ, NULL,
|
status = pNtCreateSection( &mapping, SECTION_QUERY | SECTION_MAP_READ, NULL,
|
||||||
&map_size, PAGE_READONLY, SEC_COMMIT, file );
|
&map_size, PAGE_READONLY, SEC_COMMIT, file );
|
||||||
todo_wine
|
|
||||||
ok( status == STATUS_SECTION_TOO_BIG, "NtCreateSection failed %x\n", status );
|
ok( status == STATUS_SECTION_TOO_BIG, "NtCreateSection failed %x\n", status );
|
||||||
if (!status) CloseHandle( mapping );
|
|
||||||
status = pNtCreateSection( &mapping, SECTION_QUERY | SECTION_MAP_READ, NULL,
|
status = pNtCreateSection( &mapping, SECTION_QUERY | SECTION_MAP_READ, NULL,
|
||||||
&map_size, PAGE_READONLY, SEC_IMAGE, file );
|
&map_size, PAGE_READONLY, SEC_IMAGE, file );
|
||||||
ok( status == STATUS_INVALID_IMAGE_NOT_MZ, "NtCreateSection failed %x\n", status );
|
ok( status == STATUS_INVALID_IMAGE_NOT_MZ, "NtCreateSection failed %x\n", status );
|
||||||
|
|
|
@ -574,7 +574,15 @@ static struct object *create_mapping( struct object *root, const struct unicode_
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (st.st_size < mapping->size && !grow_file( unix_fd, mapping->size )) goto error;
|
else if (st.st_size < mapping->size)
|
||||||
|
{
|
||||||
|
if (!(access & FILE_WRITE_DATA))
|
||||||
|
{
|
||||||
|
set_error( STATUS_SECTION_TOO_BIG );
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
|
if (!grow_file( unix_fd, mapping->size )) goto error;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else /* Anonymous mapping (no associated file) */
|
else /* Anonymous mapping (no associated file) */
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue