From 3410ad2f40c085e5db7a71f6ae4b80734826a1e3 Mon Sep 17 00:00:00 2001 From: Shiji Yang Date: Fri, 13 Dec 2024 13:30:38 +0800 Subject: [PATCH] base-files: enable get_mac_ascii() to handle redundant strings The function get_mac_ascii() will fail when there are two or more same MAC address variable names in the mtd partition. Only retain the first variable to workaround this rare situation. Fixes: https://github.com/openwrt/openwrt/issues/17236 Signed-off-by: Shiji Yang Link: https://github.com/openwrt/openwrt/pull/17262 Signed-off-by: Hauke Mehrtens --- package/base-files/files/lib/functions/system.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/base-files/files/lib/functions/system.sh b/package/base-files/files/lib/functions/system.sh index 048e32f0e1..aaeb75f261 100644 --- a/package/base-files/files/lib/functions/system.sh +++ b/package/base-files/files/lib/functions/system.sh @@ -66,7 +66,7 @@ get_mac_ascii() { local key="$2" local mac_dirty - mac_dirty=$(strings "$part" | sed -n 's/^'"$key"'=//p') + mac_dirty=$(strings "$part" | sed -n 's/^'"$key"'=//p' | head -n 1) # "canonicalize" mac [ -n "$mac_dirty" ] && macaddr_canonicalize "$mac_dirty" -- 2.30.2