diff --git a/src/ipc/ntapi_ipc_connect.c b/src/ipc/ntapi_ipc_connect.c index 8b2e4a0..6d86f3b 100644 --- a/src/ipc/ntapi_ipc_connect.c +++ b/src/ipc/ntapi_ipc_connect.c @@ -582,25 +582,29 @@ int __ntapi_ipc_page_alloc( size_t * alloc_size) { int32_t status; + size_t size; ntapi_internals * __internals; __internals = __ntapi_internals(); + size = __NT_INTERNAL_PAGE_SIZE; if (__internals->ipc_page == __NT_IPC_PAGES) return NT_STATUS_QUOTA_EXCEEDED; if ((status = __ntapi->zw_allocate_virtual_memory( NT_CURRENT_PROCESS_HANDLE, - addr,0,alloc_size, + addr,0,&size, NT_MEM_COMMIT, NT_PAGE_READWRITE))) return status; dalist_deposit_memory_block( - dlist,*addr,*alloc_size); + dlist,*addr,size); __internals->ipc_pages[__internals->ipc_page++] = *addr; + *alloc_size = size; + return 0; }