[PATCH] services: Initialize OVERLAPPED Offset and OffsetHigh to 0.
Jefferson Carpenter
jeffersoncarpenter2 at gmail.com
Tue Mar 10 17:48:17 CDT 2020
Submitting the patch from this bug:
https://bugs.winehq.org/show_bug.cgi?id=48735
thanks,
Jefferson
-------------- next part --------------
From 1803fb49f01875bd8895280548935fa3e5a6484b Mon Sep 17 00:00:00 2001
From: Jefferson Carpenter <jeffersoncarpenter2 at gmail.com>
Date: Tue, 10 Mar 2020 09:56:30 +0000
Subject: [PATCH] services: Initialize OVERLAPPED Offset and OffsetHigh to 0.
MSDN specifies the Offset and OffsetHigh members must be zero when
writing to a file that does not support seeking(1).
In this case the file is the control_pipe belonging to a
process_entry, and in general pipes do not support seeking.
(1): https://docs.microsoft.com/en-us/windows/win32/api/minwinbase/ns-minwinbase-overlapped
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48735
Signed-off-by: Jefferson Carpenter <jeffersoncarpenter2 at gmail.com>
---
programs/services/rpc.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/programs/services/rpc.c b/programs/services/rpc.c
index a657492a5f..0958ee87c4 100644
--- a/programs/services/rpc.c
+++ b/programs/services/rpc.c
@@ -1133,6 +1133,8 @@ static BOOL process_send_command(struct process_entry *process, const void *data
DWORD count, ret;
BOOL r;
+ overlapped.u.Offset = 0;
+ overlapped.u.OffsetHigh = 0;
overlapped.hEvent = process->overlapped_event;
r = WriteFile(process->control_pipe, data, size, &count, &overlapped);
if (!r && GetLastError() == ERROR_IO_PENDING)
--
2.23.0
More information about the wine-devel
mailing list