From 2256cfac685f9bc47bde8ef819076c3933593292 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Fri, 20 Feb 2026 18:05:45 +0000 Subject: [PATCH] wireguard-tools: fix string indexing in endpoint host check Use substr() instead of array index syntax to access the first character of the endpoint host string, as ucode does not support array-style indexing on strings. Fixes: https://github.com/openwrt/openwrt/issues/22116 Fixes: 8f977b4a4055 ("wireguard-tools: fix handling of multi-value config options") Signed-off-by: Felix Fietkau --- package/network/utils/wireguard-tools/files/wireguard.uc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/network/utils/wireguard-tools/files/wireguard.uc b/package/network/utils/wireguard-tools/files/wireguard.uc index c74512909f..9f99904812 100644 --- a/package/network/utils/wireguard-tools/files/wireguard.uc +++ b/package/network/utils/wireguard-tools/files/wireguard.uc @@ -123,7 +123,7 @@ function proto_setup(proto) { if (peer.endpoint_host) { let eph = peer.endpoint_host; - if (index(eph, ':') >= 0 && eph[0] != '[') + if (index(eph, ':') >= 0 && substr(eph, 0, 1) != '[') eph = sprintf('[%s]', eph); wg_config += sprintf('Endpoint=%s:%s\n', eph, peer.endpoint_port); }