An updated dosfstools package that fixes various bugs is now available for Red Hat Enterprise Linux 6.
The dosfstools package contains a set of tools for creating and maintaining FAT-type file systems. It includes the mkdosfs and dosfsck utilities, which make and check MS-DOS FAT file systems on hard drives and floppy disks.
Previously, when the dosfsck and the dosfslabel utilities were executed on the IBM System z architecture using a FAT32 file system, they terminated with this error message: "Logical sector size is zero". This was caused by unaligned fields which were first byte-wise copied. With this fix, the fields are not pre-copied any more, but are accessed the same way as on the i686 architecture.
The fsck.vfat utility terminated due to buffer overflow. This occurred when checking a device with the corrupted VFAT file system if there were any chains of orphaned clusters. The name of the newly created file that contained these clusters was printed directly into the name field, which led to an out of boundary write. The name is now printed into the buffer and individual parts are then correctly copied into the appropriate field.
The dosfslabel utility displayed an error message when labeling the FAT32 file system due to some of its internal structures being initialized incorrectly. The dosfslabel utility now reads the FAT file system first, which fixes the problem.
The mkfs.vfat utility did not correctly detect device partitions on RAID devices. As a consequence, formatting failed with an error message. This was caused by an invalid mask for the statbuf.st_rdev variable. The mask has been fixed to be at least four bytes long and the problem no longer occurs.
All users of dosfstools are advised to upgrade to this updated package, which resolves these bugs.