From a6a6635b055b1d20ba24ec23e89f00e87a91fd08 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Alvaro=20Cabrera=20Dur=C3=A1n?= <pateketrueke@gmail.com>
Date: Thu, 18 Oct 2018 13:00:17 -0500
Subject: [PATCH] Avoid negative values for array.length; fix #477

---
 src/types/array.js | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/types/array.js b/src/types/array.js
index 96efb118..cd5f6a3a 100644
--- a/src/types/array.js
+++ b/src/types/array.js
@@ -82,8 +82,8 @@ function arrayType(value, path, resolve, traverseCallback) {
 
   if (optionalsProbability !== false) {
     length = fixedProbabilities
-      ? Math.round(maxItems * optionalsProbability)
-      : random.number(minItems, maxItems) * optionalsProbability;
+      ? Math.round((maxItems || length) * optionalsProbability)
+      : Math.abs(random.number(minItems, maxItems) * optionalsProbability);
   }
 
   // TODO below looks bad. Should additionalItems be copied as-is?
-- 
GitLab