diff --git a/bin/firewall-sosdg b/bin/firewall-sosdg index 3e49b86..9ce7c16 100755 --- a/bin/firewall-sosdg +++ b/bin/firewall-sosdg @@ -266,10 +266,10 @@ if [ "$TCPPORTS" ] || [ "$UDPPORTS" ]; then TCPPORTS=($TCPPORTS) PORTS_COUNT=${#TCPPORTS[@]} PORTS_COUNT_CURR=0 - while [ $PORTS_COUNT_CURR -lt $PORTS_COUNT ]; do - for ((y=$PORTS_COUNT_CURR; y <=(($PORTS_COUNT_CURR+((MULTI_MAX_PORTS-1)))); y++)); do - if [ ${TCPPORTS[$y]} ]; then - PORTS="${PORTS},${TCPPORTS[$y]}" + while [[ $PORTS_COUNT_CURR < $PORTS_COUNT ]]; do + for ((i=$PORTS_COUNT_CURR; i <=(($PORTS_COUNT_CURR+(($MULTI_MAX_PORTS-1)))); i++)); do + if [ ${TCPPORTS[$i]} ]; then + PORTS="${PORTS},${TCPPORTS[$i]}" fi done echo -en "${PURPLE}Multiport-TCP${DEFAULT_COLOR}/${GREEN}${PORTS#,}" @@ -569,10 +569,10 @@ if [ $IPV6 ]; then IPV6TCP=($IPV6TCP) PORTS_COUNT=${#IPV6TCP[@]} PORTS_COUNT_CURR=0 - while [ $PORTS_COUNT_CURR -lt $PORTS_COUNT ]; do - for ((y=$PORTS_COUNT_CURR; y <=(($PORTS_COUNT_CURR+((MULTI_MAX_PORTS-1)))); y++)); do - if [ ${IPV6TCP[$y]} ]; then - PORTS="$PORTS,${IPV6TCP[$y]}" + while [[ $PORTS_COUNT_CURR < $PORTS_COUNT ]]; do + for ((i=$PORTS_COUNT_CURR; i <=(($PORTS_COUNT_CURR+(($MULTI_MAX_PORTS-1)))); i++)); do + if [ ${IPV6TCP[$i]} ]; then + PORTS="${PORTS},${IPV6TCP[$i]}" fi done echo -en "${PURPLE}Multiport-TCP${DEFAULT_COLOR}/${GREEN}${PORTS#,}"