Check the returned name from blkid_get_devname in tune2fs and
e2fsck, and print an error if the requested LABEL/UUID does
not exist (previously, we core dumped!)
diff --git a/misc/tune2fs.c b/misc/tune2fs.c
index a2d22b6..f95aed4 100644
--- a/misc/tune2fs.c
+++ b/misc/tune2fs.c
@@ -441,6 +441,11 @@
exit(1);
}
device_name = blkid_get_devname(NULL, argv[1], NULL);
+ if (!device_name) {
+ com_err("e2label", 0, _("Unable to resolve '%s'"),
+ argv[1]);
+ exit(1);
+ }
if (argc == 3) {
open_flag = EXT2_FLAG_RW | EXT2_FLAG_JOURNAL_DEV_OK;
L_flag = 1;
@@ -691,6 +696,11 @@
if (!open_flag && !l_flag)
usage();
device_name = blkid_get_devname(NULL, argv[optind], NULL);
+ if (!device_name) {
+ com_err("tune2fs", 0, _("Unable to resolve '%s'"),
+ argv[optind]);
+ exit(1);
+ }
}
void do_findfs(int argc, char **argv)
@@ -704,7 +714,7 @@
}
dev = blkid_get_devname(NULL, argv[1], NULL);
if (!dev) {
- fprintf(stderr, "Filesystem matching %s not found\n",
+ com_err("findfs", 0, _("Unable to resolve '%s'"),
argv[1]);
exit(1);
}