diff --git a/lib/events.js b/lib/events.js index 50cc720b1247ba..999ee4ec746d18 100644 --- a/lib/events.js +++ b/lib/events.js @@ -939,7 +939,7 @@ function getEventListeners(emitterOrTarget, type) { function getMaxListeners(emitterOrTarget) { if (typeof emitterOrTarget?.getMaxListeners === 'function') { return _getMaxListeners(emitterOrTarget); - } else if (emitterOrTarget?.[kMaxEventTargetListeners]) { + } else if (typeof emitterOrTarget?.[kMaxEventTargetListeners] === 'number') { return emitterOrTarget[kMaxEventTargetListeners]; } diff --git a/test/parallel/test-events-getmaxlisteners.js b/test/parallel/test-events-getmaxlisteners.js index 05b4e75b7218fb..a90a22a1ce1f81 100644 --- a/test/parallel/test-events-getmaxlisteners.js +++ b/test/parallel/test-events-getmaxlisteners.js @@ -17,3 +17,8 @@ const { getMaxListeners, EventEmitter, defaultMaxListeners, setMaxListeners } = setMaxListeners(101, et); assert.strictEqual(getMaxListeners(et), 101); } + +{ + const ac = new AbortController(); + assert.strictEqual(getMaxListeners(ac.signal), 0); +}