Carlos Lozano <[EMAIL PROTECTED]> writes:

> The problem happens in this line of the patch:
>
> -    if (!(view = VIRTUAL_CreateView( ptr, total_size, 0, 
> VPROT_COMMITTED|VPROT_READ, hmapping )))
> +    if (!(view = VIRTUAL_CreateView( ptr, total_size, 0,
> +                                     VPROT_COMMITTED | VPROT_READ | VPROT_WRITE |
> +                                     VPROT_EXEC | VPROT_WRITECOPY | VPROT_IMAGE, 
> hmapping )))
>
> It works fine, if you remove the flags VPROT_WRITE and VPROT_WRITECOPY.

This should fix it:

Index: dlls/ntdll/virtual.c
===================================================================
RCS file: /opt/cvs-commit/wine/dlls/ntdll/virtual.c,v
retrieving revision 1.17
diff -u -p -r1.17 virtual.c
--- dlls/ntdll/virtual.c        4 Nov 2003 04:50:19 -0000       1.17
+++ dlls/ntdll/virtual.c        11 Nov 2003 19:41:18 -0000
@@ -738,6 +738,7 @@ static NTSTATUS map_image( HANDLE hmappi
 
     /* set the image protections */
 
+    VIRTUAL_SetProt( view, ptr, header_size, VPROT_COMMITTED | VPROT_READ );
     sec = (IMAGE_SECTION_HEADER*)((char 
*)&nt->OptionalHeader+nt->FileHeader.SizeOfOptionalHeader);
     for (i = 0; i < nt->FileHeader.NumberOfSections; i++, sec++)
     {

-- 
Alexandre Julliard
[EMAIL PROTECTED]

Reply via email to