ntdll: Don't try to unmap system views on the server side.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Alexandre Julliard 2017-10-09 10:44:50 +02:00
parent 0374d86c57
commit 49d3cac9ce
1 changed files with 10 additions and 5 deletions

View File

@ -3074,13 +3074,18 @@ NTSTATUS WINAPI NtUnmapViewOfSection( HANDLE process, PVOID addr )
server_enter_uninterrupted_section( &csVirtual, &sigset ); server_enter_uninterrupted_section( &csVirtual, &sigset );
if ((view = VIRTUAL_FindView( addr, 0 )) && !is_view_valloc( view )) if ((view = VIRTUAL_FindView( addr, 0 )) && !is_view_valloc( view ))
{ {
SERVER_START_REQ( unmap_view ) if (!(view->protect & VPROT_SYSTEM))
{ {
req->base = wine_server_client_ptr( view->base ); SERVER_START_REQ( unmap_view )
status = wine_server_call( req ); {
req->base = wine_server_client_ptr( view->base );
status = wine_server_call( req );
}
SERVER_END_REQ;
if (!status) delete_view( view );
else FIXME( "failed to unmap %p %x\n", view->base, status );
} }
SERVER_END_REQ; else delete_view( view );
if (!status) delete_view( view );
} }
server_leave_uninterrupted_section( &csVirtual, &sigset ); server_leave_uninterrupted_section( &csVirtual, &sigset );
return status; return status;