From eeeb5650cf706f4dde72ce8b8598aef41f88718a Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Fri, 3 Sep 2021 13:16:48 +0200 Subject: [PATCH] Cygwin: fix declaration of RtlInitEmptyUnicodeString This avoids "-Werror=maybe-uninitialized" errors due to using WCSTR accidentally. Signed-off-by: Corinna Vinschen --- winsup/cygwin/ntdll.h | 5 +++-- winsup/cygwin/syscalls.cc | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/winsup/cygwin/ntdll.h b/winsup/cygwin/ntdll.h index 7eee383dd..4504bdf6d 100644 --- a/winsup/cygwin/ntdll.h +++ b/winsup/cygwin/ntdll.h @@ -1638,13 +1638,14 @@ extern "C" /* RtlInitEmptyUnicodeString is defined as a macro in wdm.h, but that file is missing entirely in w32api. */ + inline - VOID NTAPI RtlInitEmptyUnicodeString(PUNICODE_STRING dest, PCWSTR buf, + VOID NTAPI RtlInitEmptyUnicodeString(PUNICODE_STRING dest, PWSTR buf, USHORT len) { dest->Length = 0; dest->MaximumLength = len; - dest->Buffer = (PWSTR) buf; + dest->Buffer = buf; } /* Like RtlInitEmptyUnicodeString, but initialize Length to len, too. This is for instance useful when creating a UNICODE_STRING from an diff --git a/winsup/cygwin/syscalls.cc b/winsup/cygwin/syscalls.cc index 6f7efa928..c34de2929 100644 --- a/winsup/cygwin/syscalls.cc +++ b/winsup/cygwin/syscalls.cc @@ -561,7 +561,7 @@ try_to_bin (path_conv &pc, HANDLE &fh, ACCESS_MASK access, ULONG flags) { /* In the remote case we need the full path, but recycler is only a relative path. Convert to absolute path. */ - RtlInitEmptyUnicodeString (&fname, (PCWSTR) tp.w_get (), + RtlInitEmptyUnicodeString (&fname, tp.w_get (), (NT_MAX_PATH - 1) * sizeof (WCHAR)); RtlCopyUnicodeString (&fname, pc.get_nt_native_path ()); RtlSplitUnicodePath (&fname, &fname, NULL);