From: Shiji Yang Date: Fri, 13 Dec 2024 05:30:38 +0000 (+0800) Subject: base-files: enable get_mac_ascii() to handle redundant strings X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=3410ad2f40c085e5db7a71f6ae4b80734826a1e3;p=openwrt%2Fstaging%2Fblocktrron.git 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 --- 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"