1
0
mirror of https://github.com/systemd/systemd.git synced 2025-03-08 08:58:27 +03:00

Merge pull request #27774 from dtardon/free-cleanup

Use free_and_*() more
This commit is contained in:
Yu Watanabe 2023-05-25 03:06:51 +09:00 committed by GitHub
commit 3aa53842fd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
13 changed files with 25 additions and 44 deletions

View File

@ -955,8 +955,7 @@ int free_and_strdup(char **p, const char *s) {
} else
t = NULL;
free(*p);
*p = t;
free_and_replace(*p, t);
return 1;
}

View File

@ -723,8 +723,7 @@ char** strv_shell_escape(char **l, const char *bad) {
if (!v)
return NULL;
free(*s);
*s = v;
free_and_replace(*s, v);
}
return l;

View File

@ -187,8 +187,7 @@ int coredump_vacuum(int exclude_fd, uint64_t keep_free, uint64_t max_use) {
if (!n)
return log_oom();
free(c->oldest_file);
c->oldest_file = n;
free_and_replace(c->oldest_file, n);
c->oldest_mtime = t;
}

View File

@ -271,8 +271,7 @@ int start_upload(Uploader *u,
/* truncate the potential old error message */
u->error[0] = '\0';
free(u->answer);
u->answer = 0;
u->answer = mfree(u->answer);
}
/* upload to this place */

View File

@ -66,20 +66,16 @@ static void server_process_entry_meta(
char *t;
t = memdup_suffix0(p + 18, l - 18);
if (t) {
free(*identifier);
*identifier = t;
}
if (t)
free_and_replace(*identifier, t);
} else if (l >= 8 &&
startswith(p, "MESSAGE=")) {
char *t;
t = memdup_suffix0(p + 8, l - 8);
if (t) {
free(*message);
*message = t;
}
if (t)
free_and_replace(*message, t);
} else if (l > STRLEN("OBJECT_PID=") &&
l < STRLEN("OBJECT_PID=") + DECIMAL_STR_MAX(pid_t) &&

View File

@ -159,8 +159,7 @@ static int parse_string(sd_lldp_rx *lldp_rx, char **s, const void *q, size_t n)
if (!k)
return log_oom_debug();
free(*s);
*s = k;
free_and_replace(*s, k);
return 1;
}

View File

@ -451,8 +451,7 @@ static int lease_parse_in_addrs(const uint8_t *option, size_t len, struct in_add
if (!addresses)
return -ENOMEM;
free(*ret);
*ret = addresses;
free_and_replace(*ret, addresses);
*n_ret = n_addresses;
}
@ -795,8 +794,7 @@ int dhcp_lease_parse_options(uint8_t code, uint8_t len, const void *option, void
if (!p)
return -ENOMEM;
free(lease->vendor_specific);
lease->vendor_specific = p;
free_and_replace(lease->vendor_specific, p);
}
lease->vendor_specific_len = len;
@ -1458,8 +1456,7 @@ int dhcp_lease_set_client_id(sd_dhcp_lease *lease, const void *client_id, size_t
if (!p)
return -ENOMEM;
free(lease->client_id);
lease->client_id = p;
free_and_replace(lease->client_id, p);
lease->client_id_len = client_id_len;
}

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

View File

@ -337,8 +337,7 @@ static int bus_socket_auth_write(sd_bus *b, const char *t) {
b->auth_iovec[0].iov_base = p;
b->auth_iovec[0].iov_len += l;
free(b->auth_buffer);
b->auth_buffer = p;
free_and_replace(b->auth_buffer, p);
b->auth_index = 0;
return 0;
}
@ -868,8 +867,7 @@ static int bus_socket_inotify_setup(sd_bus *b) {
goto fail;
}
free(absolute);
absolute = c;
free_and_replace(absolute, c);
max_follow--;
}

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

View File

@ -1109,8 +1109,7 @@ static void resolve_freeaddrinfo(struct addrinfo *ai) {
free(ai->ai_addr);
free(ai->ai_canonname);
free(ai);
ai = next;
free_and_replace(ai, next);
}
}

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

View File

@ -37,8 +37,7 @@ assert_cc(INT_MAX >= USEC_PER_SEC);
static CalendarComponent* chain_free(CalendarComponent *c) {
while (c) {
CalendarComponent *n = c->next;
free(c);
c = n;
free_and_replace(c, n);
}
return NULL;
}