summaryrefslogtreecommitdiffstats
path: root/winsup
diff options
context:
space:
mode:
Diffstat (limited to 'winsup')
-rw-r--r--winsup/cygwin/ChangeLog7
-rw-r--r--winsup/cygwin/path.cc9
2 files changed, 11 insertions, 5 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index c1d114b7a..c7906ecae 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,5 +1,12 @@
2008-05-20 Corinna Vinschen <corinna@vinschen.de>
+ * 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.
+
+2008-05-20 Corinna Vinschen <corinna@vinschen.de>
+
* path.cc (symlink_info::check_shortcut): Minimize requested file
access flags.
(symlink_info::check_sysfile): Ditto. Add missing `else'.
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)