From d4dd0791f23b5267d10c9552ba864165a6384c09 Mon Sep 17 00:00:00 2001 From: Sebastien Rodot Date: Mon, 19 Oct 2026 17:35:33 +0200 Subject: [PATCH] fix(xo-server-sdn-controller): Guard `center.$ref` access in `_pifUpdated` and `_hostUnreachable` Avoid to dereference privateNetwork.center without checking it first. --- packages/xo-server-sdn-controller/src/index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/xo-server-sdn-controller/src/index.js b/packages/xo-server-sdn-controller/src/index.js index 47e38afc96..e7322db813 100644 --- a/packages/xo-server-sdn-controller/src/index.js +++ b/packages/xo-server-sdn-controller/src/index.js @@ -1167,7 +1167,7 @@ class SDNController extends EventEmitter { if (!pif.currently_attached) { const tunnel = getHostTunnelForNetwork(pif.$host, pif.network) await tunnel.set_status({ active: 'false' }) - if (privateNetwork.center.$ref !== pif.host) { + if (privateNetwork.center?.$ref !== pif.host) { return } @@ -1478,7 +1478,7 @@ class SDNController extends EventEmitter { async _hostUnreachable(host) { let privateNetworks = filter(this.privateNetworks, privateNetwork => { - return privateNetwork.center.$ref === host.$ref + return privateNetwork.center?.$ref === host.$ref }) for (const privateNetwork of privateNetworks) { log.debug('Unreachable star-center, electing a new one', {