NTFS: Fix handling of valid but empty mapping pairs array in
Anton Altaparmakov [Thu, 8 Sep 2005 15:52:31 +0000 (16:52 +0100)]
      fs/ntfs/runlist.c::ntfs_mapping_pairs_decompress().

Signed-off-by: Anton Altaparmakov <aia21@cantab.net>

fs/ntfs/ChangeLog
fs/ntfs/runlist.c

index f4c27f7..8fe38c8 100644 (file)
@@ -46,6 +46,8 @@ ToDo/Notes:
        - Fix two nasty runlist merging bugs that had gone unnoticed so far.
          Thanks to Stefano Picerno for the bug report.
        - Remove two bogus BUG_ON()s from fs/ntfs/mft.c.
+       - Fix handling of valid but empty mapping pairs array in
+         fs/ntfs/runlist.c::ntfs_mapping_pairs_decompress().
 
 2.1.23 - Implement extension of resident files and make writing safe as well as
         many bug fixes, cleanups, and enhancements...
index d26a1be..e4c4716 100644 (file)
@@ -760,6 +760,9 @@ runlist_element *ntfs_mapping_pairs_decompress(const ntfs_volume *vol,
                ntfs_error(vol->sb, "Corrupt attribute.");
                return ERR_PTR(-EIO);
        }
+       /* If the mapping pairs array is valid but empty, nothing to do. */
+       if (!vcn && !*buf)
+               return old_rl;
        /* Current position in runlist array. */
        rlpos = 0;
        /* Allocate first page and set current runlist size to one page. */