diff --git a/src/opnsense/scripts/Wireguard/wg-service-control.php b/src/opnsense/scripts/Wireguard/wg-service-control.php index fd9bd13b6..9ad2e54a6 100755 --- a/src/opnsense/scripts/Wireguard/wg-service-control.php +++ b/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]); }