]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
tree-wide: use free_and_strdup() 785/head
authorDaniel Mack <daniel@zonque.org>
Wed, 29 Jul 2015 18:25:57 +0000 (20:25 +0200)
committerDaniel Mack <daniel@zonque.org>
Thu, 30 Jul 2015 11:09:01 +0000 (13:09 +0200)
Use free_and_strdup() where appropriate and replace equivalent,
open-coded versions.

src/basic/unit-name.c
src/firstboot/firstboot.c
src/gpt-auto-generator/gpt-auto-generator.c
src/libsystemd/sd-bus/sd-bus.c
src/login/loginctl.c
src/network/networkd-link.c
src/nspawn/nspawn.c
src/run/run.c
src/sysusers/sysusers.c
src/udev/udev-rules.c

index bf52463d81855fb36fc0848c260e0b96d4a39099..4b84542d0c40f5eba346c97bd45e07a0d0edba8c 100644 (file)
@@ -673,6 +673,7 @@ int unit_name_mangle_with_suffix(const char *name, UnitNameMangle allow_globs, c
 
 int slice_build_parent_slice(const char *slice, char **ret) {
         char *s, *dash;
+        int r;
 
         assert(slice);
         assert(ret);
@@ -693,11 +694,9 @@ int slice_build_parent_slice(const char *slice, char **ret) {
         if (dash)
                 strcpy(dash, ".slice");
         else {
-                free(s);
-
-                s = strdup("-.slice");
-                if (!s)
-                        return -ENOMEM;
+                r = free_and_strdup(&s, "-.slice");
+                if (r < 0)
+                        return r;
         }
 
         *ret = s;
index 3805b2943734b6b2ec002575718ab8affce7caea..f06ab3da29696ce4e8abe3f05ee6bc8620ab98e9 100644 (file)
@@ -728,9 +728,8 @@ static int parse_argv(int argc, char *argv[]) {
                                 return -EINVAL;
                         }
 
-                        free(arg_locale);
-                        arg_locale = strdup(optarg);
-                        if (!arg_locale)
+                        r = free_and_strdup(&arg_locale, optarg);
+                        if (r < 0)
                                 return log_oom();
 
                         break;
@@ -741,9 +740,8 @@ static int parse_argv(int argc, char *argv[]) {
                                 return -EINVAL;
                         }
 
-                        free(arg_locale_messages);
-                        arg_locale_messages = strdup(optarg);
-                        if (!arg_locale_messages)
+                        r = free_and_strdup(&arg_locale_messages, optarg);
+                        if (r < 0)
                                 return log_oom();
 
                         break;
@@ -754,19 +752,16 @@ static int parse_argv(int argc, char *argv[]) {
                                 return -EINVAL;
                         }
 
-                        free(arg_timezone);
-                        arg_timezone = strdup(optarg);
-                        if (!arg_timezone)
+                        r = free_and_strdup(&arg_timezone, optarg);
+                        if (r < 0)
                                 return log_oom();
 
                         break;
 
                 case ARG_ROOT_PASSWORD:
-                        free(arg_root_password);
-                        arg_root_password = strdup(optarg);
-                        if (!arg_root_password)
+                        r = free_and_strdup(&arg_root_password, optarg);
+                        if (r < 0)
                                 return log_oom();
-
                         break;
 
                 case ARG_ROOT_PASSWORD_FILE:
@@ -785,9 +780,8 @@ static int parse_argv(int argc, char *argv[]) {
                                 return -EINVAL;
                         }
 
-                        free(arg_hostname);
-                        arg_hostname = strdup(optarg);
-                        if (!arg_hostname)
+                        r = free_and_strdup(&arg_hostname, optarg);
+                        if (r < 0)
                                 return log_oom();
 
                         break;
index 9fc576fb457c29755be3517762f7807a48c1f0eb..50acb7595c8fa8310dbbd46793968de28de77bf4 100644 (file)
@@ -727,9 +727,8 @@ static int enumerate_partitions(dev_t devnum) {
 
                         boot_nr = nr;
 
-                        free(boot);
-                        boot = strdup(subnode);
-                        if (!boot)
+                        r = free_and_strdup(&boot, subnode);
+                        if (r < 0)
                                 return log_oom();
 
                 } else if (sd_id128_equal(type_id, GPT_HOME)) {
@@ -741,9 +740,8 @@ static int enumerate_partitions(dev_t devnum) {
                         home_nr = nr;
                         home_rw = !(flags & GPT_FLAG_READ_ONLY),
 
-                        free(home);
-                        home = strdup(subnode);
-                        if (!home)
+                        r = free_and_strdup(&home, subnode);
+                        if (r < 0)
                                 return log_oom();
 
                 } else if (sd_id128_equal(type_id, GPT_SRV)) {
@@ -755,9 +753,8 @@ static int enumerate_partitions(dev_t devnum) {
                         srv_nr = nr;
                         srv_rw = !(flags & GPT_FLAG_READ_ONLY),
 
-                        free(srv);
-                        srv = strdup(subnode);
-                        if (!srv)
+                        r = free_and_strdup(&srv, subnode);
+                        if (r < 0)
                                 return log_oom();
                 }
         }
index 0ca225c61759dfd67656da288dda1b7dcc9e4571..767df40e81abaf832328197ab369d5f63884ba1d 100644 (file)
@@ -896,10 +896,9 @@ static int parse_container_kernel_address(sd_bus *b, const char **p, char **guid
         } else
                 b->nspid = 0;
 
-        free(b->kernel);
-        b->kernel = strdup("/sys/fs/kdbus/0-system/bus");
-        if (!b->kernel)
-                return -ENOMEM;
+        r = free_and_strdup(&b->kernel, "/sys/fs/kdbus/0-system/bus");
+        if (r < 0)
+                return r;
 
         return 0;
 }
index 9709eca9bdc985dc6634557f493c02feb8536e68..5fa98e069fba2f79662bd5c285e97af7c52bdd42 100644 (file)
@@ -372,11 +372,9 @@ static int prop_map_first_of_struct(sd_bus *bus, const char *member, sd_bus_mess
                 if (r < 0)
                         return r;
 
-                free(*p);
-                *p = strdup(s);
-
-                if (!*p)
-                        return -ENOMEM;
+                r = free_and_strdup(p, s);
+                if (r < 0)
+                        return r;
         } else {
                 r = sd_bus_message_read_basic(m, contents[0], userdata);
                 if (r < 0)
index 9d570e0146b3b75cf7a7f85e5eb1951a94a708d6..78e96c4e5ba75e523e047c63168ff8a41354adc8 100644 (file)
@@ -2059,10 +2059,9 @@ int link_update(Link *link, sd_netlink_message *m) {
 
                 link_free_carrier_maps(link);
 
-                free(link->ifname);
-                link->ifname = strdup(ifname);
-                if (!link->ifname)
-                        return -ENOMEM;
+                r = free_and_strdup(&link->ifname, ifname);
+                if (r < 0)
+                        return r;
 
                 r = link_new_carrier_maps(link);
                 if (r < 0)
index 65b9a5071b9bcac040c4a5b06a5f008b810bfa41..d46f768cfa3d16fca1037572cb3da54d654df5d4 100644 (file)
@@ -503,9 +503,8 @@ static int parse_argv(int argc, char *argv[]) {
                         break;
 
                 case 'u':
-                        free(arg_user);
-                        arg_user = strdup(optarg);
-                        if (!arg_user)
+                        r = free_and_strdup(&arg_user, optarg);
+                        if (r < 0)
                                 return log_oom();
 
                         break;
index 148854a9b50ea080aacdc2ee09e5b3e747a5a06c..3dd97022de20a9b36f359560f86d7ad7c51a6613 100644 (file)
@@ -1129,13 +1129,9 @@ int main(int argc, char* argv[]) {
                 }
 
                 if (arg_unit && isempty(description)) {
-                        free(description);
-                        description = strdup(arg_unit);
-
-                        if (!description) {
-                                r = log_oom();
+                        r = free_and_strdup(&description, arg_unit);
+                        if (r < 0)
                                 goto finish;
-                        }
                 }
 
                 arg_description = description;
index d7ba482834f8a6bf2c007cd45546662d11b85827..b3fa29b84cd578bcb5f528782fad8b34b06cde7a 100644 (file)
@@ -891,8 +891,10 @@ static int add_user(Item *i) {
                         i->uid = p->pw_uid;
                         i->uid_set = true;
 
-                        free(i->description);
-                        i->description = strdup(p->pw_gecos);
+                        r = free_and_strdup(&i->description, p->pw_gecos);
+                        if (r < 0)
+                                return log_oom();
+
                         return 0;
                 }
                 if (!IN_SET(errno, 0, ENOENT))
@@ -1149,9 +1151,8 @@ static int process_item(Item *i) {
                         }
 
                         if (i->gid_path) {
-                                free(j->gid_path);
-                                j->gid_path = strdup(i->gid_path);
-                                if (!j->gid_path)
+                                r = free_and_strdup(&j->gid_path, i->gid_path);
+                                if (r < 0)
                                         return log_oom();
                         }
 
index d00f90afa640c6c16c3a724e60746f024e3f0b8b..bbb9f97226dc6acf8c325b9fa9ba1db1309475cd 100644 (file)
@@ -2429,8 +2429,7 @@ int udev_rules_apply_to_event(struct udev_rules *rules,
                                     rules_str(rules, rule->rule.filename_off), rule->rule.filename_line);
                                 break;
                         }
-                        free(event->name);
-                        event->name = strdup(name_str);
+                        free_and_strdup(&event->name, name_str);
                         log_debug("NAME '%s' %s:%u",
                                   event->name,
                                   rules_str(rules, rule->rule.filename_off),