ntdll: Initialize APC call and result variables to suppress valgrind warnings
Dmitry Timoshkov
dmitry at codeweavers.com
Tue Dec 11 01:16:04 CST 2007
Hello,
Alexandre said that it's OK to use memset for server requests because of
backwards compatibility.
Changelog:
ntdll: Initialize APC call and result variables to suppress valgrind warnings.
---
dlls/ntdll/thread.c | 3 +++
dlls/ntdll/virtual.c | 27 +++++++++++++++++++++++++++
2 files changed, 30 insertions(+), 0 deletions(-)
diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c
index 15768c2..aae5aab 100644
--- a/dlls/ntdll/thread.c
+++ b/dlls/ntdll/thread.c
@@ -508,6 +508,9 @@ NTSTATUS WINAPI RtlCreateUserThread( HANDLE process, const SECURITY_DESCRIPTOR *
apc_call_t call;
apc_result_t result;
+ memset( &call, 0, sizeof(call) );
+ memset( &result, 0, sizeof(result) );
+
call.create_thread.type = APC_CREATE_THREAD;
call.create_thread.func = start;
call.create_thread.arg = param;
diff --git a/dlls/ntdll/virtual.c b/dlls/ntdll/virtual.c
index 684fa5d..46a8344 100644
--- a/dlls/ntdll/virtual.c
+++ b/dlls/ntdll/virtual.c
@@ -1363,6 +1363,9 @@ NTSTATUS WINAPI NtAllocateVirtualMemory( HANDLE process, PVOID *ret, ULONG zero_
apc_call_t call;
apc_result_t result;
+ memset( &call, 0, sizeof(call) );
+ memset( &result, 0, sizeof(result) );
+
call.virtual_alloc.type = APC_VIRTUAL_ALLOC;
call.virtual_alloc.addr = *ret;
call.virtual_alloc.size = *size_ptr;
@@ -1484,6 +1487,9 @@ NTSTATUS WINAPI NtFreeVirtualMemory( HANDLE process, PVOID *addr_ptr, SIZE_T *si
apc_call_t call;
apc_result_t result;
+ memset( &call, 0, sizeof(call) );
+ memset( &result, 0, sizeof(result) );
+
call.virtual_free.type = APC_VIRTUAL_FREE;
call.virtual_free.addr = addr;
call.virtual_free.size = size;
@@ -1580,6 +1586,9 @@ NTSTATUS WINAPI NtProtectVirtualMemory( HANDLE process, PVOID *addr_ptr, SIZE_T
apc_call_t call;
apc_result_t result;
+ memset( &call, 0, sizeof(call) );
+ memset( &result, 0, sizeof(result) );
+
call.virtual_protect.type = APC_VIRTUAL_PROTECT;
call.virtual_protect.addr = addr;
call.virtual_protect.size = size;
@@ -1681,6 +1690,9 @@ NTSTATUS WINAPI NtQueryVirtualMemory( HANDLE process, LPCVOID addr,
apc_call_t call;
apc_result_t result;
+ memset( &call, 0, sizeof(call) );
+ memset( &result, 0, sizeof(result) );
+
call.virtual_query.type = APC_VIRTUAL_QUERY;
call.virtual_query.addr = addr;
status = NTDLL_queue_process_apc( process, &call, &result );
@@ -1787,6 +1799,9 @@ NTSTATUS WINAPI NtLockVirtualMemory( HANDLE process, PVOID *addr, SIZE_T *size,
apc_call_t call;
apc_result_t result;
+ memset( &call, 0, sizeof(call) );
+ memset( &result, 0, sizeof(result) );
+
call.virtual_lock.type = APC_VIRTUAL_LOCK;
call.virtual_lock.addr = *addr;
call.virtual_lock.size = *size;
@@ -1822,6 +1837,9 @@ NTSTATUS WINAPI NtUnlockVirtualMemory( HANDLE process, PVOID *addr, SIZE_T *size
apc_call_t call;
apc_result_t result;
+ memset( &call, 0, sizeof(call) );
+ memset( &result, 0, sizeof(result) );
+
call.virtual_unlock.type = APC_VIRTUAL_UNLOCK;
call.virtual_unlock.addr = *addr;
call.virtual_unlock.size = *size;
@@ -1963,6 +1981,9 @@ NTSTATUS WINAPI NtMapViewOfSection( HANDLE handle, HANDLE process, PVOID *addr_p
apc_call_t call;
apc_result_t result;
+ memset( &call, 0, sizeof(call) );
+ memset( &result, 0, sizeof(result) );
+
call.map_view.type = APC_MAP_VIEW;
call.map_view.handle = handle;
call.map_view.addr = *addr_ptr;
@@ -2122,6 +2143,9 @@ NTSTATUS WINAPI NtUnmapViewOfSection( HANDLE process, PVOID addr )
apc_call_t call;
apc_result_t result;
+ memset( &call, 0, sizeof(call) );
+ memset( &result, 0, sizeof(result) );
+
call.unmap_view.type = APC_UNMAP_VIEW;
call.unmap_view.addr = addr;
status = NTDLL_queue_process_apc( process, &call, &result );
@@ -2157,6 +2181,9 @@ NTSTATUS WINAPI NtFlushVirtualMemory( HANDLE process, LPCVOID *addr_ptr,
apc_call_t call;
apc_result_t result;
+ memset( &call, 0, sizeof(call) );
+ memset( &result, 0, sizeof(result) );
+
call.virtual_flush.type = APC_VIRTUAL_FLUSH;
call.virtual_flush.addr = addr;
call.virtual_flush.size = *size_ptr;
--
1.5.3.7
More information about the wine-patches
mailing list