1
0
mirror of https://github.com/systemd/systemd.git synced 2025-02-09 13:57:42 +03:00

core/service: use GREEDY_REALLOC_APPEND

This commit is contained in:
Mike Yuan 2024-04-08 01:35:24 +08:00
parent 84affd46d5
commit 8d83e0c20e
No known key found for this signature in database
GPG Key ID: 417471C0A40F58B3

View File

@ -1405,8 +1405,8 @@ static int service_collect_fds(
UNIT_FOREACH_DEPENDENCY(u, UNIT(s), UNIT_ATOM_TRIGGERED_BY) {
_cleanup_free_ int *cfds = NULL;
Socket *sock;
int cn_fds;
Socket *sock;
sock = SOCKET(u);
if (!sock)
@ -1422,18 +1422,8 @@ static int service_collect_fds(
if (!rfds) {
rfds = TAKE_PTR(cfds);
rn_socket_fds = cn_fds;
} else {
int *t;
t = reallocarray(rfds, rn_socket_fds + cn_fds, sizeof(int));
if (!t)
return -ENOMEM;
memcpy(t + rn_socket_fds, cfds, cn_fds * sizeof(int));
rfds = t;
rn_socket_fds += cn_fds;
}
} else if (!GREEDY_REALLOC_APPEND(rfds, rn_socket_fds, cfds, cn_fds))
return -ENOMEM;
r = strv_extend_n(&rfd_names, socket_fdname(sock), cn_fds);
if (r < 0)