summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/dtable.cc
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/dtable.cc')
-rw-r--r--winsup/cygwin/dtable.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/winsup/cygwin/dtable.cc b/winsup/cygwin/dtable.cc
index ab4d1fbfd..61be7fc97 100644
--- a/winsup/cygwin/dtable.cc
+++ b/winsup/cygwin/dtable.cc
@@ -929,6 +929,14 @@ handle_to_fn (HANDLE h, char *posix_fn)
if (wcsncmp (w32, L"cygwin-", WCLEN (L"cygwin-")) != 0)
return false;
w32 += WCLEN (L"cygwin-");
+ /* Check for installation key and trailing dash. */
+ w32len = installation_key.Length / sizeof (WCHAR);
+ if (w32len && wcsncmp (w32, installation_key.Buffer, w32len) != 0)
+ return false;
+ w32 += w32len;
+ if (*w32 != L'-')
+ return false;
+ ++w32;
bool istty = wcsncmp (w32, L"tty", WCLEN (L"tty")) == 0;
if (istty)
decode_tty (posix_fn, w32 + WCLEN (L"tty"));