[2/2] ntdll: Move adding VPROT_READ for Solaris to the same place where it's done for FreeBSD.
Dmitry Timoshkov
dmitry at baikal.ru
Thu Oct 13 22:16:35 CDT 2011
---
dlls/ntdll/virtual.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/dlls/ntdll/virtual.c b/dlls/ntdll/virtual.c
index 367b81a..b2295cd 100644
--- a/dlls/ntdll/virtual.c
+++ b/dlls/ntdll/virtual.c
@@ -187,7 +187,7 @@ static int VIRTUAL_GetUnixProt( BYTE vprot )
if ((vprot & VPROT_COMMITTED) && !(vprot & VPROT_GUARD))
{
if (vprot & VPROT_READ) prot |= PROT_READ;
- if (vprot & VPROT_WRITE) prot |= PROT_WRITE;
+ if (vprot & VPROT_WRITE) prot |= PROT_WRITE | PROT_READ; /* Solaris needs READ */
if (vprot & VPROT_WRITECOPY) prot |= PROT_WRITE;
if (vprot & VPROT_EXEC) prot |= PROT_EXEC | PROT_READ; /* FreeBSD needs READ */
if (vprot & VPROT_WRITEWATCH) prot &= ~PROT_WRITE;
@@ -1345,9 +1345,9 @@ static NTSTATUS map_image( HANDLE hmapping, int fd, char *base, SIZE_T total_siz
if (sec->Characteristics & IMAGE_SCN_MEM_WRITE)
{
if (sec->Characteristics & IMAGE_SCN_CNT_UNINITIALIZED_DATA)
- vprot |= VPROT_READ | VPROT_WRITE;
+ vprot |= VPROT_WRITE;
else
- vprot |= VPROT_READ | VPROT_WRITECOPY;
+ vprot |= VPROT_WRITECOPY;
}
/* Dumb game crack lets the AOEP point into a data section. Adjust. */
--
1.7.5.1
More information about the wine-patches
mailing list