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:
Lennart Poettering 2017-12-11 22:15:03 +01:00
parent 5caa3167ff
commit ecec2a5d7a

View file

@ -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;
}