From a92483beb1e3f715455dd11b4f8f0c0c4b56d488 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=B4me=20Benoit?= Date: Tue, 8 Jul 2025 17:04:29 +0200 Subject: [PATCH] refactor: ensure safer access to worker node status MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Jérôme Benoit --- src/pools/abstract-pool.ts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/pools/abstract-pool.ts b/src/pools/abstract-pool.ts index f69921b5c..2d8255f92 100644 --- a/src/pools/abstract-pool.ts +++ b/src/pools/abstract-pool.ts @@ -2082,11 +2082,19 @@ export abstract class AbstractPool< private isWorkerNodeBackPressured (workerNodeKey: number): boolean { const workerNode = this.workerNodes[workerNodeKey] + // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition + if (workerNode == null) { + return false + } return workerNode.info.ready && workerNode.info.backPressure } private isWorkerNodeBusy (workerNodeKey: number): boolean { const workerNode = this.workerNodes[workerNodeKey] + // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition + if (workerNode == null) { + return false + } if (this.opts.enableTasksQueue === true) { return ( workerNode.info.ready && @@ -2100,6 +2108,10 @@ export abstract class AbstractPool< private isWorkerNodeIdle (workerNodeKey: number): boolean { const workerNode = this.workerNodes[workerNodeKey] + // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition + if (workerNode == null) { + return false + } if (this.opts.enableTasksQueue === true) { return ( workerNode.info.ready && @@ -2112,6 +2124,10 @@ export abstract class AbstractPool< private isWorkerNodeStealing (workerNodeKey: number): boolean { const workerNode = this.workerNodes[workerNodeKey] + // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition + if (workerNode == null) { + return false + } return ( workerNode.info.ready && (workerNode.info.continuousStealing || -- 2.43.0