to_entry = (struct ext2_ext_attr_entry *)to_header;
}
- while ((char *)from_entry < from_end && *(__u32 *)from_entry) {
+ while ((char *)from_entry < from_end &&
+ (char *)EXT2_EXT_ATTR_NEXT(from_entry) <= from_end &&
+ *(__u32 *)from_entry) {
ext2fs_swap_ext_attr_entry(to_entry, from_entry);
from_entry = EXT2_EXT_ATTR_NEXT(from_entry);
to_entry = EXT2_EXT_ATTR_NEXT(to_entry);
t->i_flags = ext2fs_swab32(f->i_flags);
if (!hostorder && (t->i_flags & EXT4_EXTENTS_FL))
has_extents = 1;
- if (!hostorder && (f->i_flags & EXT4_INLINE_DATA_FL))
+ if (!hostorder && (t->i_flags & EXT4_INLINE_DATA_FL))
has_inline_data = 1;
t->i_dir_acl = ext2fs_swab32(f->i_dir_acl);
/*
errcode_t ext2fs_dirent_swab_in(ext2_filsys fs, char *buf, int flags)
{
- return ext2fs_dirent_swab_in(fs, buf, fs->blocksize, flags);
+ return ext2fs_dirent_swab_in2(fs, buf, fs->blocksize, flags);
}
errcode_t ext2fs_dirent_swab_in2(ext2_filsys fs, char *buf,