Skip to content

Commit 5838d05

Browse files
committed
fix: guard against non-finite waitBefore values causing infinite hangs
1 parent 2344406 commit 5838d05

1 file changed

Lines changed: 2 additions & 2 deletions

File tree

packages/safe/src/safe/safe.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -318,7 +318,7 @@ async function safeAsync<T, E = Error, TOut = T>(
318318
if (attempt < maxAttempts) {
319319
callHook(() => resolvedHooks?.onRetry?.(lastError, attempt, context), onHookError, 'onRetry')
320320
const waitMs = resolvedHooks?.retry?.waitBefore?.(attempt) ?? 0
321-
if (waitMs > 0) {
321+
if (waitMs > 0 && Number.isFinite(waitMs)) {
322322
await sleep(waitMs)
323323
}
324324
}
@@ -513,7 +513,7 @@ function wrapAsync<TArgs extends unknown[], T, E = Error, TOut = T>(
513513
if (attempt < maxAttempts) {
514514
callHook(() => resolvedHooks?.onRetry?.(lastError, attempt, args), onHookError, 'onRetry')
515515
const waitMs = resolvedHooks?.retry?.waitBefore?.(attempt) ?? 0
516-
if (waitMs > 0) {
516+
if (waitMs > 0 && Number.isFinite(waitMs)) {
517517
await sleep(waitMs)
518518
}
519519
}

0 commit comments

Comments
 (0)