[PATCH] server: Avoid a potential NULL dereference in startup_info_dump().

Zebediah Figura z.figura12 at gmail.com
Tue Sep 1 17:22:20 CDT 2020


From: Zebediah Figura <zfigura at codeweavers.com>

info->data may be set to NULL by get_startup_info, without invalidating the
object itself.

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

diff --git a/server/process.c b/server/process.c
index c1bdb591f60..fc3e8df2ef2 100644
--- a/server/process.c
+++ b/server/process.c
@@ -749,8 +749,13 @@ static void startup_info_dump( struct object *obj, int verbose )
     struct startup_info *info = (struct startup_info *)obj;
     assert( obj->ops == &startup_info_ops );
 
-    fprintf( stderr, "Startup info in=%04x out=%04x err=%04x\n",
-             info->data->hstdin, info->data->hstdout, info->data->hstderr );
+    fputs( "Startup info", stderr );
+    if (info->data)
+    {
+        fprintf( stderr, " in=%04x out=%04x err=%04x",
+                 info->data->hstdin, info->data->hstdout, info->data->hstderr );
+    }
+    fputc( '\n', stderr );
 }
 
 static int startup_info_signaled( struct object *obj, struct wait_queue_entry *entry )
-- 
2.28.0




More information about the wine-devel mailing list