The realloc code included in commit
95dff16b1 potentially introduces
extra buffers to bplist. These should be dealt with at the end of the
longform_dir2_entry_check function. This replaces the originally estimated
number of entries (freetab->naents) with the actual number finally allocated
(num_bps).
Signed-off-by: Mike Grant <mggr@pml.ac.uk>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Dave Chinner <david@fromorbit.com>
out_fix:
if (!no_modify && (fixit || dotdot_update)) {
dir_hash_dup_names(hashtab);
- for (i = 0; i < freetab->naents; i++)
+ for (i = 0; i < num_bps; i++)
if (bplist[i])
libxfs_putbuf(bplist[i]);
longform_dir2_rebuild(mp, ino, ip, irec, ino_offset, hashtab);
*num_illegal = 0;
*need_dot = 0;
} else {
- for (i = 0; i < freetab->naents; i++)
+ for (i = 0; i < num_bps; i++)
if (bplist[i])
libxfs_putbuf(bplist[i]);
}