Zebediah Figura : server: Zero-initialize rawinput_message structures before passing them to queue_rawinput_message() (Valgrind).

Alexandre Julliard julliard at winehq.org
Wed Oct 13 15:59:25 CDT 2021


Module: wine
Branch: master
Commit: f393ab2636a15acd64621d90c08dc0d5bfbbcc57
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=f393ab2636a15acd64621d90c08dc0d5bfbbcc57

Author: Zebediah Figura <zfigura at codeweavers.com>
Date:   Tue Oct 12 19:36:54 2021 -0500

server: Zero-initialize rawinput_message structures before passing them to queue_rawinput_message() (Valgrind).

Signed-off-by: Zebediah Figura <zfigura at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 server/queue.c | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/server/queue.c b/server/queue.c
index f38c7e9fb17..fe5a3f2d5be 100644
--- a/server/queue.c
+++ b/server/queue.c
@@ -1793,12 +1793,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;
@@ -1930,12 +1930,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;
@@ -2001,12 +2001,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)
         {
@@ -2021,9 +2019,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 );




More information about the wine-cvs mailing list