]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
core/manager: use cellescape and don't be too aggressive 32072/head
authorMike Yuan <me@yhndnzj.com>
Wed, 3 Apr 2024 14:54:48 +0000 (22:54 +0800)
committerMike Yuan <me@yhndnzj.com>
Wed, 3 Apr 2024 15:51:11 +0000 (23:51 +0800)
Addresses https://github.com/systemd/systemd/pull/32068#issuecomment-2034799862

src/core/manager.c

index b8b5f085e6146f8ae8a67e3e083bd87ea63455a5..0103c582b520d1722a032c724e8dd16740c4a69e 100644 (file)
@@ -2586,22 +2586,17 @@ static void manager_invoke_notify_message(
                 UNIT_VTABLE(u)->notify_message(u, ucred, tags, fds);
 
         else if (DEBUG_LOGGING) {
-                _cleanup_free_ char *buf = NULL, *x = NULL, *y = NULL;
+                _cleanup_free_ char *joined = strv_join(tags, ", ");
+                char buf[CELLESCAPE_DEFAULT_LENGTH];
 
-                buf = strv_join(tags, ", ");
-                if (buf)
-                        x = ellipsize(buf, 20, 90);
-                if (x)
-                        y = cescape(x);
-
-                log_unit_debug(u, "Got notification message \"%s\", ignoring.", strnull(y));
+                log_unit_debug(u, "Got notification message from unexpected unit type, ignoring: %s",
+                               joined ? cellescape(buf, sizeof(buf), joined) : "(null)");
         }
 }
 
 static int manager_dispatch_notify_fd(sd_event_source *source, int fd, uint32_t revents, void *userdata) {
-
-        _cleanup_fdset_free_ FDSet *fds = NULL;
         Manager *m = ASSERT_PTR(userdata);
+        _cleanup_fdset_free_ FDSet *fds = NULL;
         char buf[NOTIFY_BUFFER_MAX+1];
         struct iovec iovec = {
                 .iov_base = buf,