mirror of
https://github.com/systemd/systemd-stable.git
synced 2025-01-22 22:03:43 +03:00
tree-wide: use free_and_strdup()
Use free_and_strdup() where appropriate and replace equivalent, open-coded versions.
This commit is contained in:
parent
5f17089ac1
commit
2fc09a9cdd
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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();
|
||||
}
|
||||
|
||||
|
@ -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),
|
||||
|
Loading…
x
Reference in New Issue
Block a user