From 2987a4beb77ecd0ddec490fc95f9859355255e31 Mon Sep 17 00:00:00 2001 From: alexlamsl Date: Sun, 2 Apr 2017 04:52:22 +0800 Subject: [PATCH] fix overflow in `rng()` --- test/ufuzz.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/ufuzz.js b/test/ufuzz.js index 76130d1d..7aab6715 100644 --- a/test/ufuzz.js +++ b/test/ufuzz.js @@ -288,7 +288,7 @@ var loops = 0; var funcs = 0; function rng(max) { - var r = randomBytes(2).readUInt16LE(0) / 0xFFFF; + var r = randomBytes(2).readUInt16LE(0) / 65536; return Math.floor(max * r); } @@ -563,7 +563,7 @@ function _createSimpleBinaryExpr(recurmax, noComma) { // intentionally generate more hardcore ops if (--recurmax < 0) return createValue(); var r = rng(30); - if (r === 0) return '(c = c + 1, ' + _createSimpleBinaryExpr(recurmax, noComma) + ')' + if (r === 0) return '(c = c + 1, ' + _createSimpleBinaryExpr(recurmax, noComma) + ')'; var s = _createSimpleBinaryExpr(recurmax, noComma) + createBinaryOp(noComma) + _createSimpleBinaryExpr(recurmax, noComma); if (r === 1) { // try to get a generated name reachable from current scope. default to just `a`