From a73e5eb94c0c1c486f0ce1603cfe32a596b9e9e9 Mon Sep 17 00:00:00 2001 From: David Tardon Date: Wed, 24 May 2023 14:47:36 +0200 Subject: [PATCH] tree-wide: use free_and_str*dup() more --- src/libsystemd/sd-bus/bus-control.c | 7 +++---- src/libsystemd/sd-login/sd-login.c | 7 +++---- src/nspawn/nspawn-network.c | 7 +++---- 3 files changed, 9 insertions(+), 12 deletions(-) diff --git a/src/libsystemd/sd-bus/bus-control.c b/src/libsystemd/sd-bus/bus-control.c index 287cde6d419..77b4b5bea61 100644 --- a/src/libsystemd/sd-bus/bus-control.c +++ b/src/libsystemd/sd-bus/bus-control.c @@ -590,10 +590,9 @@ _public_ int sd_bus_get_name_creds( if (r < 0) return r; - free(c->label); - c->label = strndup(p, sz); - if (!c->label) - return -ENOMEM; + r = free_and_strndup(&c->label, p, sz); + if (r < 0) + return r; c->mask |= SD_BUS_CREDS_SELINUX_CONTEXT; diff --git a/src/libsystemd/sd-login/sd-login.c b/src/libsystemd/sd-login/sd-login.c index a81b21062a7..c5d54bbf74d 100644 --- a/src/libsystemd/sd-login/sd-login.c +++ b/src/libsystemd/sd-login/sd-login.c @@ -124,10 +124,9 @@ _public_ int sd_pid_get_cgroup(pid_t pid, char **cgroup) { * cgroup, let's return the "/" in the public APIs instead, as * that's easier and less ambiguous for people to grok. */ if (isempty(c)) { - free(c); - c = strdup("/"); - if (!c) - return -ENOMEM; + r = free_and_strdup(&c, "/"); + if (r < 0) + return r; } diff --git a/src/nspawn/nspawn-network.c b/src/nspawn/nspawn-network.c index b1c4f1cad8e..c2ba00c4381 100644 --- a/src/nspawn/nspawn-network.c +++ b/src/nspawn/nspawn-network.c @@ -712,10 +712,9 @@ int veth_extra_parse(char ***l, const char *p) { if (r < 0) return r; if (r == 0 || !ifname_valid(b)) { - free(b); - b = strdup(a); - if (!b) - return -ENOMEM; + r = free_and_strdup(&b, a); + if (r < 0) + return r; } if (p)