From 1c11ce6c97160e07a06f32d2ce77efa8bbcd691b Mon Sep 17 00:00:00 2001 From: Ulf Jaenicke-Roessler Date: Sat, 4 Apr 2026 13:18:18 +0200 Subject: [PATCH] fix: cleanupRequests for all outstanding sftp._requests --- lib/protocol/SFTP.js | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/lib/protocol/SFTP.js b/lib/protocol/SFTP.js index 9f33c021..bd739fa3 100644 --- a/lib/protocol/SFTP.js +++ b/lib/protocol/SFTP.js @@ -2721,17 +2721,18 @@ function doFatalSFTPError(sftp, msg, noDebug) { } function cleanupRequests(sftp) { - const keys = Object.keys(sftp._requests); - if (keys.length === 0) - return; - - const reqs = sftp._requests; - sftp._requests = {}; const err = new Error('No response from server'); - for (let i = 0; i < keys.length; ++i) { - const req = reqs[keys[i]]; - if (typeof req.cb === 'function') - req.cb(err); + while (true) { + const keys = Object.keys(sftp._requests); + if (keys.length === 0) + return; + const reqs = sftp._requests; + sftp._requests = {}; + for (let i = 0; i < keys.length; ++i) { + const req = reqs[keys[i]]; + if (typeof req.cb === 'function') + req.cb(err); + } } }