[rtems commit] dosfs: Directories should have a file size of 0

Sebastian Huber sebh at rtems.org
Tue Feb 28 08:56:32 UTC 2017


Module:    rtems
Branch:    4.11
Commit:    6ec60de37d899646552f988d974017d5f54c4e3c
Changeset: http://git.rtems.org/rtems/commit/?id=6ec60de37d899646552f988d974017d5f54c4e3c

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Mon Feb 27 10:40:49 2017 +0100

dosfs: Directories should have a file size of 0

Update #2755.

---

 cpukit/libfs/src/dosfs/msdos_misc.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/cpukit/libfs/src/dosfs/msdos_misc.c b/cpukit/libfs/src/dosfs/msdos_misc.c
index 39f6ca2..c854d48 100644
--- a/cpukit/libfs/src/dosfs/msdos_misc.c
+++ b/cpukit/libfs/src/dosfs/msdos_misc.c
@@ -820,7 +820,12 @@ fat_file_write_file_size(
     sec += (fat_fd->dir_pos.sname.ofs >> fs_info->vol.sec_log2);
     byte = (fat_fd->dir_pos.sname.ofs & (fs_info->vol.bps - 1));
 
-    le_new_length = CT_LE_L((fat_fd->fat_file_size));
+    if (fat_fd->fat_file_type == FAT_DIRECTORY) {
+      le_new_length = CT_LE_L(0);
+    } else {
+      le_new_length = CT_LE_L(fat_fd->fat_file_size);
+    }
+
     ret = fat_sector_write(fs_info, sec, byte + MSDOS_FILE_SIZE_OFFSET, 4,
                            (char *)(&le_new_length));
     if ( ret < 0 )



More information about the vc mailing list