mirror of
https://github.com/systemd/systemd-stable.git
synced 2024-10-28 20:25:25 +03:00
shared/install: avoid overwriting 'r' counter with a partial result
We want to store either the first error or the total number of changes in 'r'. Instead, we were overwriting this with the return value from install_info_traverse(). LGTM complained later in the loop that: > Comparison is always true because r >= 0.
This commit is contained in:
parent
0a587335d2
commit
459500a32c
@ -1896,10 +1896,10 @@ static int install_context_apply(
|
|||||||
if (q < 0)
|
if (q < 0)
|
||||||
return q;
|
return q;
|
||||||
|
|
||||||
r = install_info_traverse(scope, c, paths, i, flags, NULL);
|
q = install_info_traverse(scope, c, paths, i, flags, NULL);
|
||||||
if (r < 0) {
|
if (q < 0) {
|
||||||
unit_file_changes_add(changes, n_changes, r, i->name, NULL);
|
unit_file_changes_add(changes, n_changes, r, i->name, NULL);
|
||||||
return r;
|
return q;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* We can attempt to process a masked unit when a different unit
|
/* We can attempt to process a masked unit when a different unit
|
||||||
|
@ -862,7 +862,7 @@ static void test_with_dropin(const char *root) {
|
|||||||
unit_file_changes_free(changes, n_changes);
|
unit_file_changes_free(changes, n_changes);
|
||||||
changes = NULL; n_changes = 0;
|
changes = NULL; n_changes = 0;
|
||||||
|
|
||||||
assert_se(unit_file_enable(UNIT_FILE_SYSTEM, 0, root, STRV_MAKE("with-dropin-4a.service"), &changes, &n_changes) == 1);
|
assert_se(unit_file_enable(UNIT_FILE_SYSTEM, 0, root, STRV_MAKE("with-dropin-4a.service"), &changes, &n_changes) == 2);
|
||||||
assert_se(unit_file_get_state(UNIT_FILE_SYSTEM, root, "with-dropin-3.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
|
assert_se(unit_file_get_state(UNIT_FILE_SYSTEM, root, "with-dropin-3.service", &state) >= 0 && state == UNIT_FILE_ENABLED);
|
||||||
assert_se(n_changes == 2);
|
assert_se(n_changes == 2);
|
||||||
assert_se(changes[0].type == UNIT_FILE_SYMLINK);
|
assert_se(changes[0].type == UNIT_FILE_SYMLINK);
|
||||||
|
Loading…
Reference in New Issue
Block a user