hfsplus: fix crash and filesystem corruption when deleting files
[linux-2.6-microblaze.git] / fs / hfsplus / attributes.c
index e6d5544..eeebe80 100644 (file)
@@ -292,6 +292,10 @@ static int __hfsplus_delete_attr(struct inode *inode, u32 cnid,
                return -ENOENT;
        }
 
+       /* Avoid btree corruption */
+       hfs_bnode_read(fd->bnode, fd->search_key,
+                       fd->keyoffset, fd->keylength);
+
        err = hfs_brec_remove(fd);
        if (err)
                return err;