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-29 20:25:57 +02:00
parent 5f17089ac1
commit 2fc09a9cdd
10 changed files with 40 additions and 59 deletions

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) {
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;

View 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;

View 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();
}
}

View 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;
}

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)
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)

View 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)

View 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;

View 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;

View 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();
}

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);
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),