systemctl: rewrite code to explicitly take care of n_units==0 case

Coverity was complaing, but it was a false positive (CID #1354669).
Nevertheless, it's better to rewrite the code so that units is never
null.
This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2016-04-24 21:50:25 -04:00
parent d2cc96a8e1
commit 0da999fada
1 changed files with 3 additions and 4 deletions

View File

@ -1422,8 +1422,8 @@ static int list_unit_files(int argc, char *argv[], void *userdata) {
n_units = hashmap_size(h);
units = new(UnitFileList, n_units);
if (!units && n_units > 0) {
units = new(UnitFileList, n_units ?: 1); /* avoid malloc(0) */
if (!units) {
unit_file_list_free(h);
return log_oom();
}
@ -1519,10 +1519,9 @@ static int list_unit_files(int argc, char *argv[], void *userdata) {
qsort_safe(units, c, sizeof(UnitFileList), compare_unit_file_list);
output_unit_file_list(units, c);
if (install_client_side()) {
if (install_client_side())
for (unit = units; unit < units + c; unit++)
free(unit->path);
}
return 0;
}