From ab39ad4dc4954d2a8b472df6879675e30c7e04fa Mon Sep 17 00:00:00 2001 From: Pierre Cavin Date: Mon, 23 Oct 2023 16:28:31 +0200 Subject: [PATCH] fix: prevent infinite loop if step is two or more zeros --- src/time.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/time.ts b/src/time.ts index 126698a1..81239a08 100644 --- a/src/time.ts +++ b/src/time.ts @@ -774,10 +774,10 @@ export class CronTime { let upper = mUpper !== undefined ? parseInt(mUpper, 10) : undefined; const wasStepDefined = mStep !== undefined; - if (mStep === '0') { + const step = parseInt(mStep ?? '1', 10); + if (step === 0) { throw new Error(`Field (${unit}) has a step of zero`); } - const step = parseInt(mStep ?? '1', 10); if (upper !== undefined && lower > upper) { throw new Error(`Field (${unit}) has an invalid range`);