Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2008-05-20 22:26:45 +0400
committerCorinna Vinschen <corinna@vinschen.de>2008-05-20 22:26:45 +0400
commit28259ba2ddc48dfa74c8d7cc3d1f5314007e685d (patch)
tree8d6ac311da0860d56eb445e68b22e3c90faa2da5
parentc44e0ba1f543b2c7f417e7d86cd034efe455abdf (diff)
* 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.
-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)