diff --git a/fs/hfs/extent.c b/fs/hfs/extent.c index 4a0ce131e..cee1b4504 100644 --- a/fs/hfs/extent.c +++ b/fs/hfs/extent.c @@ -154,6 +154,7 @@ static inline int __hfs_ext_read_extent(struct hfs_find_data *fd, struct hfs_ext hfs_ext_build_key(fd->search_key, cnid, block, type); fd->key->ext.FNum = 0; + memset(extent, 0, sizeof(struct hfs_extent)); res = hfs_brec_find(fd); if (res && res != -ENOENT) return res; @@ -176,6 +177,7 @@ static inline int __hfs_ext_cache_extent(struct hfs_find_data *fd, struct inode return res; } + memset(HFS_I(inode)->cached_extents, 0, sizeof(HFS_I(inode)->cached_extents)); res = __hfs_ext_read_extent(fd, HFS_I(inode)->cached_extents, inode->i_ino, block, HFS_IS_RSRC(inode) ? HFS_FK_RSRC : HFS_FK_DATA); if (!res) {