From 1df35772d6d2182a35cb2e3d07227b8765eef2d5 Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Tue, 14 Sep 2010 14:10:39 +0000 Subject: * path.cc (symlink_info::check): Make sure AllocationSize and EndOfFile are stored in the right order when fetching the info from the NtQueryDirectoryFile result. --- winsup/cygwin/path.cc | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'winsup/cygwin/path.cc') diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc index 470546586..d29aff028 100644 --- a/winsup/cygwin/path.cc +++ b/winsup/cygwin/path.cc @@ -2525,6 +2525,14 @@ restart: { fileattr = fdi_buf.fdi.FileAttributes; memcpy (pfnoi, &fdi_buf.fdi.CreationTime, sizeof *pfnoi); + /* Amazing, but true: The FILE_NETWORK_OPEN_INFORMATION + structure has the AllocationSize and EndOfFile members + interchanged relative to the directory information + classes. */ + pfnoi->AllocationSize.QuadPart + = fdi_buf.fdi.AllocationSize.QuadPart; + pfnoi->EndOfFile.QuadPart + = fdi_buf.fdi.EndOfFile.QuadPart; } } ext_tacked_on = !!*ext_here; -- cgit v1.2.3