From: Zbigniew Jędrzejewski-Szmek Date: Tue, 19 Mar 2024 22:34:01 +0000 (+0100) Subject: machinectl: use strdup_to() and move cleanup out of the loop X-Git-Tag: v256-rc1~459^2~6 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=237bbec1173b41c0e0f2eaf9c30e19ab82073b8d;p=thirdparty%2Fsystemd.git 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. --- 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(