From 35d5defc4e78fa97730370762953a58a27f9f560 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Wed, 12 Mar 2025 06:46:36 +0900 Subject: [PATCH] hostname-setup: use strchr() to find wildcard character Addresses https://github.com/systemd/systemd/pull/36647#discussion_r1990048751. --- src/shared/hostname-setup.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/shared/hostname-setup.c b/src/shared/hostname-setup.c index af89f92bdc4..33b6a05ad86 100644 --- a/src/shared/hostname-setup.c +++ b/src/shared/hostname-setup.c @@ -268,9 +268,10 @@ int hostname_substitute_wildcards(char *name) { * Note that this does not directly use the machine ID, because that's not necessarily supposed to be * public information to be broadcast on the network, while the hostname certainly is. */ - for (char *n = name; *n; n++) { - if (*n != '?') - continue; + for (char *n = name; ; n++) { + n = strchr(n, '?'); + if (!n) + return 0; if (left_bits <= 0) { if (sd_id128_is_null(mid)) { @@ -293,8 +294,6 @@ int hostname_substitute_wildcards(char *name) { h >>= 4; left_bits -= 4; } - - return 0; } char* get_default_hostname(void) { -- 2.47.3