base-files: strip space and tab characters from ASCII mac address
authorShiji Yang <yangshiji66@qq.com>
Mon, 16 Dec 2024 07:09:50 +0000 (15:09 +0800)
committerHauke Mehrtens <hauke@hauke-m.de>
Sat, 4 Jan 2025 15:20:46 +0000 (16:20 +0100)
Spaces and tabs are widely used in variable definitions. We have to
remove them to ensure that get_mac_ascii() works properly.

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>
package/base-files/files/lib/functions/system.sh

index aaeb75f26164af6bac0820eb629a768ca65a5a90..f43281b5dceb071b8e586b8d1931a2836162378a 100644 (file)
@@ -66,7 +66,7 @@ get_mac_ascii() {
        local key="$2"
        local mac_dirty
 
-       mac_dirty=$(strings "$part" | sed -n 's/^'"$key"'=//p' | head -n 1)
+       mac_dirty=$(strings "$part" | tr -d ' \t' | sed -n 's/^'"$key"'=//p' | head -n 1)
 
        # "canonicalize" mac
        [ -n "$mac_dirty" ] && macaddr_canonicalize "$mac_dirty"