If the lan_mac cannot be found, it is still used (as empty string) in
various operations. This is not valid and other 02_network scripts checking
for a non-empty string before using it. This should also be adopted for the
realtek 02_network.
Signed-off-by: Sven Eckelmann <se@simonwunderlich.de>
Link: https://github.com/openwrt/openwrt/pull/20241
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
;;
esac
- ucidef_set_interface_macaddr "lan" $lan_mac
- ucidef_set_bridge_mac "$lan_mac"
- ucidef_set_network_device_mac eth0 $lan_mac
+ [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
+ [ -n "$lan_mac" ] && ucidef_set_bridge_mac "$lan_mac"
+ [ -n "$lan_mac" ] && ucidef_set_network_device_mac eth0 $lan_mac
- [ -z "$lan_mac_start" ] && lan_mac_start=$lan_mac
+ [ -z "$lan_mac_start" -a -n "$lan_mac" ] && lan_mac_start=$lan_mac
realtek_setup_macs_lan "$lan_list" "$lan_mac_start" "$lan_mac_end"
[ -n "$label_mac" ] && ucidef_set_label_macaddr $label_mac