From 156292d44a54f52bc69f18a5ad6f64c0efcbca61 Mon Sep 17 00:00:00 2001
From: Chemi Atlow <chemi@testim.io>
Date: Thu, 15 Jun 2023 15:55:12 +0300
Subject: [PATCH] lib: create weakRef only if any signals provided

PR-URL: https://github.com/nodejs/node/pull/48448
Backport-PR-URL: https://github.com/nodejs/node/pull/48800
Fixes: https://github.com/nodejs/node/issues/48419
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Nitzan Uziely <linkgoron@gmail.com>
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
---
 lib/internal/abort_controller.js | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/lib/internal/abort_controller.js b/lib/internal/abort_controller.js
index 778b04cc584847..052613e95a9c28 100644
--- a/lib/internal/abort_controller.js
+++ b/lib/internal/abort_controller.js
@@ -197,6 +197,9 @@ class AbortSignal extends EventTarget {
   static any(signals) {
     validateAbortSignalArray(signals, 'signals');
     const resultSignal = createAbortSignal({ composite: true });
+    if (!signals.length) {
+      return resultSignal;
+    }
     const resultSignalWeakRef = new WeakRef(resultSignal);
     resultSignal[kSourceSignals] = new SafeSet();
     for (let i = 0; i < signals.length; i++) {