If ext2fs_file_read() fails --- perhaps due to a corrupted file
system, or an I/O error --- avoid looping forever in dump_file().
This issue was pointed out in [1] by Quentin Kaiser but the commit
description was too confusing and specific to the user's particular
situation.
[1] https://github.com/tytso/e2fsprogs/pull/149
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
}
while (1) {
retval = ext2fs_file_read(e2_file, buf, blocksize, &got);
- if (retval)
+ if (retval) {
com_err(cmdname, retval, "while reading ext2 file");
+ return;
+ }
if (got == 0)
break;
nbytes = write(fd, buf, got);