Fix random number generators input checks
authorJérôme Benoit <jerome.benoit@sap.com>
Mon, 24 Oct 2022 13:50:39 +0000 (15:50 +0200)
committerJérôme Benoit <jerome.benoit@sap.com>
Mon, 24 Oct 2022 13:50:39 +0000 (15:50 +0200)
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
src/utils/Utils.ts

index e8e658d1c07ec57522a37e718822e54a08da4af2..d396cfa959f930167978cd35dd240eae08ff29cd 100644 (file)
@@ -106,7 +106,7 @@ export default class Utils {
   }
 
   public static getRandomFloat(max = Number.MAX_VALUE, min = 0, negative = false): number {
-    if (max < min || min < 0 || max < 0) {
+    if (max < min || max < 0 || min < 0) {
       throw new RangeError('Invalid interval');
     }
     const randomPositiveFloat = crypto.randomBytes(4).readUInt32LE() / 0xffffffff;
@@ -115,14 +115,11 @@ export default class Utils {
   }
 
   public static getRandomInteger(max = Number.MAX_SAFE_INTEGER, min = 0): number {
-    if (max < 0) {
+    if (max < min || max < 0 || min < 0) {
       throw new RangeError('Invalid interval');
     }
     max = Math.floor(max);
     if (!Utils.isNullOrUndefined(min) && min !== 0) {
-      if (max < min || min < 0) {
-        throw new RangeError('Invalid interval');
-      }
       min = Math.ceil(min);
       return Math.floor(Utils.secureRandom() * (max - min + 1)) + min;
     }