summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/path.cc
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2008-05-20 18:26:45 +0000
committerCorinna Vinschen <corinna@vinschen.de>2008-05-20 18:26:45 +0000
commit28259ba2ddc48dfa74c8d7cc3d1f5314007e685d (patch)
tree8d6ac311da0860d56eb445e68b22e3c90faa2da5 /winsup/cygwin/path.cc
parentc44e0ba1f543b2c7f417e7d86cd034efe455abdf (diff)
downloadcygnal-28259ba2ddc48dfa74c8d7cc3d1f5314007e685d.tar.gz
cygnal-28259ba2ddc48dfa74c8d7cc3d1f5314007e685d.tar.bz2
cygnal-28259ba2ddc48dfa74c8d7cc3d1f5314007e685d.zip
* path.cc (symlink_worker): Fix EA buffer size info given to
NtCreateFile. (symlink_info::check_nfs_symlink): Get 64K buffer for EA buffer. Change EA buffer size info given to NtQueryEaFile accordingly.
Diffstat (limited to 'winsup/cygwin/path.cc')
-rw-r--r--winsup/cygwin/path.cc9
1 files changed, 4 insertions, 5 deletions
diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc
index fb69531db..d01b7f8a2 100644
--- a/winsup/cygwin/path.cc
+++ b/winsup/cygwin/path.cc
@@ -1615,7 +1615,7 @@ symlink_worker (const char *oldpath, const char *newpath, bool use_winsym,
FILE_SHARE_VALID_FLAGS, FILE_CREATE,
FILE_SYNCHRONOUS_IO_NONALERT
| FILE_OPEN_FOR_BACKUP_INTENT,
- pffei, NT_MAX_PATH);
+ pffei, NT_MAX_PATH * sizeof (WCHAR));
if (!NT_SUCCESS (status))
{
__seterrno_from_nt_status (status);
@@ -2054,10 +2054,9 @@ symlink_info::check_nfs_symlink (HANDLE h)
fgei_buf.fgei.NextEntryOffset = 0;
fgei_buf.fgei.EaNameLength = sizeof (NFS_SYML_TARGET) - 1;
stpcpy (fgei_buf.fgei.EaName, NFS_SYML_TARGET);
- pffei = (PFILE_FULL_EA_INFORMATION) tp.c_get ();
- status = NtQueryEaFile (h, &io, pffei, NT_MAX_PATH, TRUE,
- &fgei_buf.fgei, sizeof fgei_buf,
- NULL, TRUE);
+ pffei = (PFILE_FULL_EA_INFORMATION) tp.w_get ();
+ status = NtQueryEaFile (h, &io, pffei, NT_MAX_PATH * sizeof (WCHAR), TRUE,
+ &fgei_buf.fgei, sizeof fgei_buf, NULL, TRUE);
if (NT_SUCCESS (status) && pffei->EaValueLength > 0)
{
PWCHAR spath = (PWCHAR)