diff options
| author | Shiji Yang | 2024-12-13 05:30:38 +0000 |
|---|---|---|
| committer | Hauke Mehrtens | 2025-01-04 18:25:34 +0000 |
| commit | 676dfd1363fbfc1b92331aa293672f8af9770a02 (patch) | |
| tree | c2206ddce2c8dbbef486859566a54c36c0157b37 | |
| parent | b0261c3861afff7438cb7be4735d2fccb12a74bc (diff) | |
| download | openwrt-676dfd1363fbfc1b92331aa293672f8af9770a02.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>
(cherry picked from commit 3410ad2f40c085e5db7a71f6ae4b80734826a1e3)
| -rw-r--r-- | package/base-files/files/lib/functions/system.sh | 2 |
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" |