]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
tree-wide: use free_and_str*dup() more
authorDavid Tardon <dtardon@redhat.com>
Wed, 24 May 2023 12:47:36 +0000 (14:47 +0200)
committerDavid Tardon <dtardon@redhat.com>
Wed, 24 May 2023 13:03:55 +0000 (15:03 +0200)
src/libsystemd/sd-bus/bus-control.c
src/libsystemd/sd-login/sd-login.c
src/nspawn/nspawn-network.c

index 287cde6d419f61973952a4770e707ab1b7c4a5c0..77b4b5bea61ab3c65a7f06eaf8c028c6ada2177d 100644 (file)
@@ -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;
 
index a81b21062a733089429551f4a9bd5c85a0e0e37f..c5d54bbf74d238afd0c2b567a1ff98e4a7f781a7 100644 (file)
@@ -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;
 
         }
 
index b1c4f1cad8e4dba8563e7abcf8f0838395ff120d..c2ba00c4381c69bafddfc764f679436fec470cbc 100644 (file)
@@ -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)