diff options
author | Mike Yuan <me@yhndnzj.com> | 2024-06-17 07:47:20 +0200 |
---|---|---|
committer | Mike Yuan <me@yhndnzj.com> | 2024-06-17 17:02:51 +0200 |
commit | 9f5d8c3da4f505346bd1edfae907a2abcdbdc578 (patch) | |
tree | e0a82a5c081cc1947f84864371f830693761a8a5 /src | |
parent | core: cast ignored retval of deserialize_* to void (diff) | |
download | systemd-9f5d8c3da4f505346bd1edfae907a2abcdbdc578.tar.xz systemd-9f5d8c3da4f505346bd1edfae907a2abcdbdc578.zip |
core/service: fix accept-socket deserialization
Follow-up for 45b1017488cef2a5bacdf82028ce900a311c9a1c
Diffstat (limited to 'src')
-rw-r--r-- | src/core/service.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/core/service.c b/src/core/service.c index 92ce26c234..f37a941a6d 100644 --- a/src/core/service.c +++ b/src/core/service.c @@ -1363,7 +1363,7 @@ static int service_coldplug(Unit *u) { service_start_watchdog(s); if (UNIT_ISSET(s->accept_socket)) { - Socket* socket = SOCKET(UNIT_DEREF(s->accept_socket)); + Socket *socket = SOCKET(UNIT_DEREF(s->accept_socket)); if (socket->max_connections_per_source > 0) { SocketPeer *peer; @@ -3217,8 +3217,8 @@ static int service_deserialize_item(Unit *u, const char *key, const char *value, } else if (streq(key, "accept-socket")) { Unit *socket; - if (u->type != UNIT_SOCKET) { - log_unit_debug(u, "Failed to deserialize accept-socket: unit is not a socket"); + if (unit_name_to_type(value) != UNIT_SOCKET) { + log_unit_debug(u, "Deserialized accept-socket is not a socket unit, ignoring: %s", value); return 0; } @@ -3227,7 +3227,7 @@ static int service_deserialize_item(Unit *u, const char *key, const char *value, log_unit_debug_errno(u, r, "Failed to load accept-socket unit '%s': %m", value); else { unit_ref_set(&s->accept_socket, u, socket); - SOCKET(socket)->n_connections++; + ASSERT_PTR(SOCKET(socket))->n_connections++; } } else if (streq(key, "socket-fd")) { |