summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShiji Yang2024-12-13 05:30:38 +0000
committerHauke Mehrtens2025-01-04 15:20:46 +0000
commit3410ad2f40c085e5db7a71f6ae4b80734826a1e3 (patch)
tree64623c4e81b187fab8adef4624b24cdb8cedf77b
parent58056df84f6dfd0c86d45e2e22d715a3c501ce1e (diff)
downloadopenwrt-3410ad2f40c085e5db7a71f6ae4b80734826a1e3.tar.gz
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 <yangshiji66@qq.com> Link: https://github.com/openwrt/openwrt/pull/17262 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
-rw-r--r--package/base-files/files/lib/functions/system.sh2
1 files changed, 1 insertions, 1 deletions
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"