From 237bbec1173b41c0e0f2eaf9c30e19ab82073b8d Mon Sep 17 00:00:00 2001 From: =?utf8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Tue, 19 Mar 2024 23:34:01 +0100 Subject: [PATCH] machinectl: use strdup_to() and move cleanup out of the loop It doesn't matter much, but it seems nicer to call va_end() just once. --- src/machine/machinectl.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/machine/machinectl.c b/src/machine/machinectl.c index bab3719a495..32a60e388fc 100644 --- a/src/machine/machinectl.c +++ b/src/machine/machinectl.c @@ -159,24 +159,22 @@ static int call_get_os_release(sd_bus *bus, const char *method, const char *name if (r < 0) return bus_log_parse_error(r); + r = 0; va_start(ap, query); for (count = 0; count < awaited_args; count++) { - char *val, **out; + char **out; out = va_arg(ap, char **); assert(out); if (query_res[count]) { - val = strdup(query_res[count]); - if (!val) { - va_end(ap); - return -ENOMEM; - } - *out = val; + r = strdup_to(out, query_res[count]); + if (r < 0) + break; } } va_end(ap); - return 0; + return r; } static int call_get_addresses( -- 2.47.3