package: avoid the use of eval to parse ipcalc.sh output
[openwrt/openwrt.git] / package / network / config / netifd / files / lib / netifd / dhcp.script
index 6fcf139beba34b56266206373417cc6cba604366..db8deac9e67157e9c2c2ae67adb09ad614256aa4 100755 (executable)
@@ -18,13 +18,13 @@ setup_interface () {
        proto_add_ipv4_address "$ip" "${subnet:-255.255.255.0}"
        # TODO: apply $broadcast
 
-       local ip_net
-       eval "$(ipcalc.sh "$ip/$mask")";ip_net="$NETWORK"
+       local ip_net IP PREFIX NETWORK NETMASK BROADCAST
+       ipcalc "$ip/$mask" && ip_net="$NETWORK"
 
        local i
        for i in $router; do
                local gw_net
-               eval "$(ipcalc.sh "$i/$mask")";gw_net="$NETWORK"
+               ipcalc "$i/$mask" && gw_net="$NETWORK"
 
                [ "$ip_net" != "$gw_net" ] && proto_add_ipv4_route "$i" 32 "" "$ip"
                proto_add_ipv4_route 0.0.0.0 0 "$i" "$ip"