diff options
-rw-r--r-- | src/core/load-fragment.c | 9 | ||||
-rw-r--r-- | src/shared/condition.c | 4 | ||||
-rw-r--r-- | src/shared/condition.h | 2 |
3 files changed, 7 insertions, 8 deletions
diff --git a/src/core/load-fragment.c b/src/core/load-fragment.c index e8dfa1a511..7430036f48 100644 --- a/src/core/load-fragment.c +++ b/src/core/load-fragment.c @@ -2042,8 +2042,7 @@ int config_parse_unit_condition_path( if (isempty(rvalue)) { /* Empty assignment resets the list */ - condition_free_list(*list); - *list = NULL; + *list = condition_free_list(*list); return 0; } @@ -2100,8 +2099,7 @@ int config_parse_unit_condition_string( if (isempty(rvalue)) { /* Empty assignment resets the list */ - condition_free_list(*list); - *list = NULL; + *list = condition_free_list(*list); return 0; } @@ -2150,8 +2148,7 @@ int config_parse_unit_condition_null( if (isempty(rvalue)) { /* Empty assignment resets the list */ - condition_free_list(*list); - *list = NULL; + *list = condition_free_list(*list); return 0; } diff --git a/src/shared/condition.c b/src/shared/condition.c index dcbf9a7e86..3a3452959d 100644 --- a/src/shared/condition.c +++ b/src/shared/condition.c @@ -73,11 +73,13 @@ void condition_free(Condition *c) { free(c); } -void condition_free_list(Condition *first) { +Condition* condition_free_list(Condition *first) { Condition *c, *n; LIST_FOREACH_SAFE(conditions, c, n, first) condition_free(c); + + return NULL; } static int condition_test_kernel_command_line(Condition *c) { diff --git a/src/shared/condition.h b/src/shared/condition.h index 28d1d94ff4..0780e78123 100644 --- a/src/shared/condition.h +++ b/src/shared/condition.h @@ -79,7 +79,7 @@ typedef struct Condition { Condition* condition_new(ConditionType type, const char *parameter, bool trigger, bool negate); void condition_free(Condition *c); -void condition_free_list(Condition *c); +Condition* condition_free_list(Condition *c); int condition_test(Condition *c); |