tree-wide: use free_and_strdup()

Use free_and_strdup() where appropriate and replace equivalent,
open-coded versions.
This commit is contained in:
Daniel Mack
2015-07-30 13:09:01 +02:00
parent 5f17089ac1
commit 2fc09a9cdd
10 changed files with 40 additions and 59 deletions
+4 -5
View 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) { int slice_build_parent_slice(const char *slice, char **ret) {
char *s, *dash; char *s, *dash;
int r;
assert(slice); assert(slice);
assert(ret); assert(ret);
@@ -693,11 +694,9 @@ int slice_build_parent_slice(const char *slice, char **ret) {
if (dash) if (dash)
strcpy(dash, ".slice"); strcpy(dash, ".slice");
else { else {
free(s); r = free_and_strdup(&s, "-.slice");
if (r < 0)
s = strdup("-.slice"); return r;
if (!s)
return -ENOMEM;
} }
*ret = s; *ret = s;
+10 -16
View File
@@ -728,9 +728,8 @@ static int parse_argv(int argc, char *argv[]) {
return -EINVAL; return -EINVAL;
} }
free(arg_locale); r = free_and_strdup(&arg_locale, optarg);
arg_locale = strdup(optarg); if (r < 0)
if (!arg_locale)
return log_oom(); return log_oom();
break; break;
@@ -741,9 +740,8 @@ static int parse_argv(int argc, char *argv[]) {
return -EINVAL; return -EINVAL;
} }
free(arg_locale_messages); r = free_and_strdup(&arg_locale_messages, optarg);
arg_locale_messages = strdup(optarg); if (r < 0)
if (!arg_locale_messages)
return log_oom(); return log_oom();
break; break;
@@ -754,19 +752,16 @@ static int parse_argv(int argc, char *argv[]) {
return -EINVAL; return -EINVAL;
} }
free(arg_timezone); r = free_and_strdup(&arg_timezone, optarg);
arg_timezone = strdup(optarg); if (r < 0)
if (!arg_timezone)
return log_oom(); return log_oom();
break; break;
case ARG_ROOT_PASSWORD: case ARG_ROOT_PASSWORD:
free(arg_root_password); r = free_and_strdup(&arg_root_password, optarg);
arg_root_password = strdup(optarg); if (r < 0)
if (!arg_root_password)
return log_oom(); return log_oom();
break; break;
case ARG_ROOT_PASSWORD_FILE: case ARG_ROOT_PASSWORD_FILE:
@@ -785,9 +780,8 @@ static int parse_argv(int argc, char *argv[]) {
return -EINVAL; return -EINVAL;
} }
free(arg_hostname); r = free_and_strdup(&arg_hostname, optarg);
arg_hostname = strdup(optarg); if (r < 0)
if (!arg_hostname)
return log_oom(); return log_oom();
break; break;
+6 -9
View File
@@ -727,9 +727,8 @@ static int enumerate_partitions(dev_t devnum) {
boot_nr = nr; boot_nr = nr;
free(boot); r = free_and_strdup(&boot, subnode);
boot = strdup(subnode); if (r < 0)
if (!boot)
return log_oom(); return log_oom();
} else if (sd_id128_equal(type_id, GPT_HOME)) { } else if (sd_id128_equal(type_id, GPT_HOME)) {
@@ -741,9 +740,8 @@ static int enumerate_partitions(dev_t devnum) {
home_nr = nr; home_nr = nr;
home_rw = !(flags & GPT_FLAG_READ_ONLY), home_rw = !(flags & GPT_FLAG_READ_ONLY),
free(home); r = free_and_strdup(&home, subnode);
home = strdup(subnode); if (r < 0)
if (!home)
return log_oom(); return log_oom();
} else if (sd_id128_equal(type_id, GPT_SRV)) { } else if (sd_id128_equal(type_id, GPT_SRV)) {
@@ -755,9 +753,8 @@ static int enumerate_partitions(dev_t devnum) {
srv_nr = nr; srv_nr = nr;
srv_rw = !(flags & GPT_FLAG_READ_ONLY), srv_rw = !(flags & GPT_FLAG_READ_ONLY),
free(srv); r = free_and_strdup(&srv, subnode);
srv = strdup(subnode); if (r < 0)
if (!srv)
return log_oom(); return log_oom();
} }
} }
+3 -4
View File
@@ -896,10 +896,9 @@ static int parse_container_kernel_address(sd_bus *b, const char **p, char **guid
} else } else
b->nspid = 0; b->nspid = 0;
free(b->kernel); r = free_and_strdup(&b->kernel, "/sys/fs/kdbus/0-system/bus");
b->kernel = strdup("/sys/fs/kdbus/0-system/bus"); if (r < 0)
if (!b->kernel) return r;
return -ENOMEM;
return 0; return 0;
} }
+3 -5
View File
@@ -372,11 +372,9 @@ static int prop_map_first_of_struct(sd_bus *bus, const char *member, sd_bus_mess
if (r < 0) if (r < 0)
return r; return r;
free(*p); r = free_and_strdup(p, s);
*p = strdup(s); if (r < 0)
return r;
if (!*p)
return -ENOMEM;
} else { } else {
r = sd_bus_message_read_basic(m, contents[0], userdata); r = sd_bus_message_read_basic(m, contents[0], userdata);
if (r < 0) if (r < 0)
+3 -4
View File
@@ -2059,10 +2059,9 @@ int link_update(Link *link, sd_netlink_message *m) {
link_free_carrier_maps(link); link_free_carrier_maps(link);
free(link->ifname); r = free_and_strdup(&link->ifname, ifname);
link->ifname = strdup(ifname); if (r < 0)
if (!link->ifname) return r;
return -ENOMEM;
r = link_new_carrier_maps(link); r = link_new_carrier_maps(link);
if (r < 0) if (r < 0)
+2 -3
View File
@@ -503,9 +503,8 @@ static int parse_argv(int argc, char *argv[]) {
break; break;
case 'u': case 'u':
free(arg_user); r = free_and_strdup(&arg_user, optarg);
arg_user = strdup(optarg); if (r < 0)
if (!arg_user)
return log_oom(); return log_oom();
break; break;
+2 -6
View File
@@ -1129,13 +1129,9 @@ int main(int argc, char* argv[]) {
} }
if (arg_unit && isempty(description)) { if (arg_unit && isempty(description)) {
free(description); r = free_and_strdup(&description, arg_unit);
description = strdup(arg_unit); if (r < 0)
if (!description) {
r = log_oom();
goto finish; goto finish;
}
} }
arg_description = description; arg_description = description;
+6 -5
View File
@@ -891,8 +891,10 @@ static int add_user(Item *i) {
i->uid = p->pw_uid; i->uid = p->pw_uid;
i->uid_set = true; i->uid_set = true;
free(i->description); r = free_and_strdup(&i->description, p->pw_gecos);
i->description = strdup(p->pw_gecos); if (r < 0)
return log_oom();
return 0; return 0;
} }
if (!IN_SET(errno, 0, ENOENT)) if (!IN_SET(errno, 0, ENOENT))
@@ -1149,9 +1151,8 @@ static int process_item(Item *i) {
} }
if (i->gid_path) { if (i->gid_path) {
free(j->gid_path); r = free_and_strdup(&j->gid_path, i->gid_path);
j->gid_path = strdup(i->gid_path); if (r < 0)
if (!j->gid_path)
return log_oom(); return log_oom();
} }
+1 -2
View 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); rules_str(rules, rule->rule.filename_off), rule->rule.filename_line);
break; break;
} }
free(event->name); free_and_strdup(&event->name, name_str);
event->name = strdup(name_str);
log_debug("NAME '%s' %s:%u", log_debug("NAME '%s' %s:%u",
event->name, event->name,
rules_str(rules, rule->rule.filename_off), rules_str(rules, rule->rule.filename_off),