[PATCH 1/2] server: Zero-initialize rawinput_message structures before passing them to queue_rawinput_message() (Valgrind).

Zebediah Figura zfigura at codeweavers.com
Tue Oct 12 19:36:54 CDT 2021


Signed-off-by: Zebediah Figura <zfigura at codeweavers.com>
---
 server/queue.c | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/server/queue.c b/server/queue.c
index 0a29c8787c3..b6024dc22b5 100644
--- a/server/queue.c
+++ b/server/queue.c
@@ -1818,12 +1818,12 @@ static int queue_mouse_message( struct desktop *desktop, user_handle_t win, cons
 
     if ((foreground = get_foreground_thread( desktop, win )))
     {
+        memset( &raw_msg, 0, sizeof(raw_msg) );
         raw_msg.foreground = foreground;
         raw_msg.desktop    = desktop;
         raw_msg.source     = source;
         raw_msg.time       = time;
         raw_msg.message    = WM_INPUT;
-        raw_msg.hid_report = NULL;
 
         msg_data = &raw_msg.data;
         msg_data->info                = input->mouse.info;
@@ -1955,12 +1955,12 @@ static int queue_keyboard_message( struct desktop *desktop, user_handle_t win, c
 
     if ((foreground = get_foreground_thread( desktop, win )))
     {
+        memset( &raw_msg, 0, sizeof(raw_msg) );
         raw_msg.foreground = foreground;
         raw_msg.desktop    = desktop;
         raw_msg.source     = source;
         raw_msg.time       = time;
         raw_msg.message    = WM_INPUT;
-        raw_msg.hid_report = NULL;
 
         msg_data = &raw_msg.data;
         msg_data->info                 = input->kbd.info;
@@ -2026,12 +2026,10 @@ static void queue_custom_hardware_message( struct desktop *desktop, user_handle_
     {
     case WM_INPUT:
     case WM_INPUT_DEVICE_CHANGE:
-        raw_msg.foreground = NULL;
-        raw_msg.desktop    = NULL;
+        memset( &raw_msg, 0, sizeof(raw_msg) );
         raw_msg.source     = source;
         raw_msg.time       = get_tick_count();
         raw_msg.message    = input->hw.msg;
-        raw_msg.hid_report = NULL;
 
         if (input->hw.rawinput.type == RIM_TYPEHID)
         {
@@ -2046,9 +2044,7 @@ static void queue_custom_hardware_message( struct desktop *desktop, user_handle_
         }
 
         msg_data = &raw_msg.data;
-        msg_data->info     = 0;
         msg_data->size     = sizeof(*msg_data) + report_size;
-        msg_data->flags    = 0;
         msg_data->rawinput = input->hw.rawinput;
 
         enum_processes( queue_rawinput_message, &raw_msg );
-- 
2.33.0




More information about the wine-devel mailing list