diff --git a/net/wireguard/src/opnsense/scripts/Wireguard/wg-service-control.php b/net/wireguard/src/opnsense/scripts/Wireguard/wg-service-control.php index 742119c7f..f66d0a08e 100755 --- a/net/wireguard/src/opnsense/scripts/Wireguard/wg-service-control.php +++ b/net/wireguard/src/opnsense/scripts/Wireguard/wg-service-control.php @@ -69,7 +69,8 @@ function wg_start($server, $fhandle, $ifcfgflag = 'up') } mwexecf('/usr/bin/wg setconf %s %s', [$server->interface, $server->cnfFilename]); - foreach (explode(',', (string)$server->tunneladdress) as $alias) { + /* The tunneladdress can be empty, so array_filter without callback filters empty strings out. */ + foreach (array_filter(explode(',', (string)$server->tunneladdress)) as $alias) { $proto = strpos($alias, ':') === false ? "inet" : "inet6"; mwexecf('/sbin/ifconfig %s %s %s alias', [$server->interface, $proto, $alias]); }