From: Theodore Ts'o Date: Fri, 23 May 2025 17:22:00 +0000 (-0400) Subject: debugfs: abort reading a file on failure when dumping out a file X-Git-Tag: v1.47.3-rc1~30 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=51d68472456d22b6e64159244be63bce51473691;p=thirdparty%2Fe2fsprogs.git debugfs: abort reading a file on failure when dumping out a file 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 --- diff --git a/debugfs/dump.c b/debugfs/dump.c index 4ab7cadc..cc81a508 100644 --- a/debugfs/dump.c +++ b/debugfs/dump.c @@ -122,8 +122,10 @@ static void dump_file(const char *cmdname, ext2_ino_t ino, int fd, } 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);