Module: wine Branch: master Commit: 8fe759dfae41f518940764788ebbd3544c2541b4 URL: http://source.winehq.org/git/wine.git/?a=commit;h=8fe759dfae41f518940764788e...
Author: Thomas Faber thomas.faber@reactos.org Date: Sat Jun 21 18:44:57 2014 +0200
rpcrt4: Do not omit mandatory argument to VirtualProtect.
---
dlls/rpcrt4/cproxy.c | 3 ++- dlls/rpcrt4/cstub.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/dlls/rpcrt4/cproxy.c b/dlls/rpcrt4/cproxy.c index b1acbb0..7513b19 100644 --- a/dlls/rpcrt4/cproxy.c +++ b/dlls/rpcrt4/cproxy.c @@ -192,13 +192,14 @@ static const struct thunk *allocate_block( unsigned int num ) { unsigned int i; struct thunk *prev, *block; + DWORD oldprot;
block = VirtualAlloc( NULL, BLOCK_SIZE * sizeof(*block), MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE ); if (!block) return NULL;
for (i = 0; i < BLOCK_SIZE; i++) init_thunk( &block[i], BLOCK_SIZE * num + i + 3 ); - VirtualProtect( block, BLOCK_SIZE * sizeof(*block), PAGE_EXECUTE_READ, NULL ); + VirtualProtect( block, BLOCK_SIZE * sizeof(*block), PAGE_EXECUTE_READ, &oldprot ); prev = InterlockedCompareExchangePointer( (void **)&method_blocks[num], block, NULL ); if (prev) /* someone beat us to it */ { diff --git a/dlls/rpcrt4/cstub.c b/dlls/rpcrt4/cstub.c index 680b22e..0ddb1aa 100644 --- a/dlls/rpcrt4/cstub.c +++ b/dlls/rpcrt4/cstub.c @@ -194,6 +194,7 @@ static const vtbl_method_t *allocate_block( unsigned int num ) { unsigned int i; vtbl_method_t *prev, *block; + DWORD oldprot;
block = VirtualAlloc( NULL, BLOCK_SIZE * sizeof(*block), MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE ); @@ -204,7 +205,7 @@ static const vtbl_method_t *allocate_block( unsigned int num ) memcpy( &block[i], opcodes, sizeof(opcodes) ); block[i].offset = (BLOCK_SIZE * num + i + 3) * sizeof(void *); } - VirtualProtect( block, BLOCK_SIZE * sizeof(*block), PAGE_EXECUTE_READ, NULL ); + VirtualProtect( block, BLOCK_SIZE * sizeof(*block), PAGE_EXECUTE_READ, &oldprot ); prev = InterlockedCompareExchangePointer( (void **)&method_blocks[num], block, NULL ); if (prev) /* someone beat us to it */ {