summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2009-04-09 17:00:35 +0000
committerCorinna Vinschen <corinna@vinschen.de>2009-04-09 17:00:35 +0000
commit214a0e67fd01131131e8f22a73899651511d3e41 (patch)
treed33866ffc652b4329dad4346de8ea7390b0d856f /winsup/cygwin
parentc2e861da3e9d3b3f54427edb757d8d8a57b43e25 (diff)
downloadcygnal-214a0e67fd01131131e8f22a73899651511d3e41.tar.gz
cygnal-214a0e67fd01131131e8f22a73899651511d3e41.tar.bz2
cygnal-214a0e67fd01131131e8f22a73899651511d3e41.zip
* syscalls.cc (try_to_bin): Fix alignment of infobuf.
Diffstat (limited to 'winsup/cygwin')
-rw-r--r--winsup/cygwin/ChangeLog4
-rw-r--r--winsup/cygwin/syscalls.cc4
2 files changed, 7 insertions, 1 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 76564cdde..cd7bcf45f 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,5 +1,9 @@
2009-04-09 Corinna Vinschen <corinna@vinschen.de>
+ * syscalls.cc (try_to_bin): Fix alignment of infobuf.
+
+2009-04-09 Corinna Vinschen <corinna@vinschen.de>
+
* fhandler_disk_file.cc (fhandler_disk_file::fchown): Catch an
error when changing the user account on a standalone Samba server.
Explain why.
diff --git a/winsup/cygwin/syscalls.cc b/winsup/cygwin/syscalls.cc
index 7950299ca..6198bef98 100644
--- a/winsup/cygwin/syscalls.cc
+++ b/winsup/cygwin/syscalls.cc
@@ -153,7 +153,9 @@ try_to_bin (path_conv &pc, HANDLE &fh, ACCESS_MASK access)
PFILE_NAME_INFORMATION pfni;
PFILE_INTERNAL_INFORMATION pfii;
PFILE_RENAME_INFORMATION pfri;
- BYTE infobuf[sizeof (FILE_NAME_INFORMATION ) + 32767 * sizeof (WCHAR)];
+ /* Enforce alignment for multi-purpose infobuf buffer */
+ BYTE infobuf[sizeof (FILE_NAME_INFORMATION) + 32767 * sizeof (WCHAR)]
+ __attribute__ ((aligned));
FILE_DISPOSITION_INFORMATION disp = { TRUE };
pfni = (PFILE_NAME_INFORMATION) infobuf;