Message ID | 8e87fbc3-674a-af30-1234-54b36eb5ca5d@huawei.com |
---|---|
State | Accepted |
Headers | show |
Series | tune2fs: fix tune2fs segfault when ext2fs_run_ext3_journal() fails | expand |
On Mon, 5 Sep 2022 19:16:03 +0800, Zhiqiang Liu wrote: > When ext2fs_run_ext3_journal() fails, tune2fs cmd will occur one > segfault problem as follows. > (gdb) bt > #0 0x00007fdadad69917 in ext2fs_mmp_stop (fs=0x0) at mmp.c:405 > #1 0x0000558fa5a9365a in main (argc=<optimized out>, argv=<optimized out>) at tune2fs.c:3440 > > misc/tune2fs.c: > main() > -> ext2fs_open2(&fs) > -> ext2fs_mmp_start > ...... > -> retval = ext2fs_run_ext3_journal(&fs) > -> if (retval) > // if ext2fs_run_ext3_journal fails, close and free fs. > -> ext2fs_close_free(&fs) > -> rc = 1 > -> goto closefs > ...... > closefs: > -> if (rc) > -> ext2fs_mmp_stop(fs) // fs has been set to NULL, boom!! > -> (ext2fs_close_free(&fs) ? 1 : 0); // close and free fs > > [...] Applied, thanks! [1/1] tune2fs: fix tune2fs segfault when ext2fs_run_ext3_journal() fails commit: 66ecb6abe5d2c74191bb4bc24f3da036e5fa1213 Best regards,
diff --git a/misc/tune2fs.c b/misc/tune2fs.c index 9f0d4379..25ade2fa 100644 --- a/misc/tune2fs.c +++ b/misc/tune2fs.c @@ -3344,8 +3344,6 @@ _("Warning: The journal is dirty. You may wish to replay the journal like:\n\n" com_err("tune2fs", retval, "while recovering journal.\n"); printf(_("Please run e2fsck -fy %s.\n"), argv[1]); - if (fs) - ext2fs_close_free(&fs); rc = 1; goto closefs; }