machinectl: make sure that inability to get OS version isn't consider fatal for machine list (#4972)

Fixes: #4918
This commit is contained in:
Lennart Poettering 2016-12-29 12:09:54 +01:00 committed by Martin Pitt
parent 41733ae1e0
commit 4b2419165c
1 changed files with 6 additions and 10 deletions

View File

@ -243,14 +243,16 @@ static int list_machines(int argc, char *argv[], void *userdata) {
if (name[0] == '.' && !arg_all)
continue;
if (!GREEDY_REALLOC(machines, n_allocated, n_machines + 1)) {
if (!GREEDY_REALLOC0(machines, n_allocated, n_machines + 1)) {
r = log_oom();
goto out;
}
machines[n_machines].os = NULL;
machines[n_machines].version_id = NULL;
r = call_get_os_release(
machines[n_machines].name = name;
machines[n_machines].class = class;
machines[n_machines].service = service;
(void) call_get_os_release(
bus,
"GetMachineOSRelease",
name,
@ -258,12 +260,6 @@ static int list_machines(int argc, char *argv[], void *userdata) {
"VERSION_ID\0",
&machines[n_machines].os,
&machines[n_machines].version_id);
if (r < 0)
goto out;
machines[n_machines].name = name;
machines[n_machines].class = class;
machines[n_machines].service = service;
l = strlen(name);
if (l > max_name)