about summary refs log tree commit diff
path: root/src/core/settings/nm-agent-manager.c
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2024-07-05 18:15:13 +0200
committerMichael Biebl <biebl@debian.org>2024-07-05 18:15:13 +0200
commit58affb29b8386d6d26359da604a64fefe7ae0a60 (patch)
tree6c0c9b519e431ca178070c89f516dbaa660bbddb /src/core/settings/nm-agent-manager.c
parent8e2fde558a5af5c3b03a5112dbd8f9085c5a8369 (diff)
New upstream version 1.48.4 upstream/1.48.4
Diffstat (limited to 'src/core/settings/nm-agent-manager.c')
-rw-r--r--src/core/settings/nm-agent-manager.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/core/settings/nm-agent-manager.c b/src/core/settings/nm-agent-manager.c
index 0a120649..19b3cfcb 100644
--- a/src/core/settings/nm-agent-manager.c
+++ b/src/core/settings/nm-agent-manager.c
@@ -327,11 +327,17 @@ validate_identifier(const char *identifier, GError **error)
     /* FIXME: do complete validation here */
     while (p && *p) {
         if (!g_ascii_isalnum(*p) && (*p != '_') && (*p != '-') && (*p != '.')) {
+            char invalid_char[5] = {*p};
+
+            if (!g_ascii_isprint(*p)) {
+                g_snprintf(invalid_char, sizeof(invalid_char), "\\x%02x", *p);
+            }
+
             g_set_error(error,
                         NM_AGENT_MANAGER_ERROR,
                         NM_AGENT_MANAGER_ERROR_INVALID_IDENTIFIER,
-                        "Identifier contains invalid character '%c'",
-                        *p);
+                        "Identifier contains invalid character '%s'",
+                        invalid_char);
             return FALSE;
         }