diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 76564cdde..cd7bcf45f 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,7 @@ +2009-04-09 Corinna Vinschen + + * syscalls.cc (try_to_bin): Fix alignment of infobuf. + 2009-04-09 Corinna Vinschen * fhandler_disk_file.cc (fhandler_disk_file::fchown): Catch an 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;