mirror of
https://github.com/systemd/systemd.git
synced 2026-07-12 18:44:14 +00:00
bootctl: don't trip up in "bootctl status" when we can't find the ESP because of lack of privilges
On my system the boot and EFI partitions are protected, hence "bootctl status" can't find the ESP, and then the tool continues with arg_path == NULL, which it really should not. Handle these cases, and simply suppress all output that needs arg_path.
This commit is contained in:
@@ -999,9 +999,11 @@ static int verb_status(int argc, char *argv[], void *userdata) {
|
||||
} else
|
||||
printf("System:\n Not booted with EFI\n\n");
|
||||
|
||||
k = status_binaries(arg_path, uuid);
|
||||
if (k < 0)
|
||||
r = k;
|
||||
if (arg_path) {
|
||||
k = status_binaries(arg_path, uuid);
|
||||
if (k < 0)
|
||||
r = k;
|
||||
}
|
||||
|
||||
if (is_efi_boot()) {
|
||||
k = status_variables();
|
||||
@@ -1009,9 +1011,11 @@ static int verb_status(int argc, char *argv[], void *userdata) {
|
||||
r = k;
|
||||
}
|
||||
|
||||
k = status_entries(arg_path, uuid);
|
||||
if (k < 0)
|
||||
r = k;
|
||||
if (arg_path) {
|
||||
k = status_entries(arg_path, uuid);
|
||||
if (k < 0)
|
||||
r = k;
|
||||
}
|
||||
|
||||
return r;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user