Skip to content

Commit 99de2cb

Browse files
committed
Undo fix for p = 0 scenario, will update at a later point
1 parent b28c4e1 commit 99de2cb

File tree

3 files changed

+8
-4
lines changed

3 files changed

+8
-4
lines changed

scrypt-async.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -404,10 +404,14 @@ function scrypt(password, salt, logN, r, dkLen, interruptStep, callback, encodin
404404
throw new Error('scrypt: missing N parameter');
405405
}
406406
}
407-
p = typeof opts.p === "undefined" ? 1 : opts.p;
407+
408+
// bug on the following line: p can never be detected as invalid if set to zero. It will silently switch to 1.
409+
// recommended fix: p = typeof opts.p === "undefined" ? 1 : opts.p;
410+
p = opts.p || 1;
408411
r = opts.r;
409412

410-
dkLen = typeof opts.dkLen === "undefined" ? 32 : opts.dkLen;
413+
// recommended code: dkLen = typeof opts.dkLen === "undefined" ? 32 : opts.dkLen;
414+
dkLen = opts.dkLen || 32;
411415
interruptStep = opts.interruptStep || 0;
412416
encoding = opts.encoding;
413417
}

scrypt-async.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

test/unittests.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -346,7 +346,7 @@ describe('limits test', function() {
346346

347347
it('should throw when p = 0', function() {
348348
assert.throws(function() {
349-
scrypt(v.password, v.salt, { logN: v.logN, r: v.r, p: 0, dkLen: v.dkLen}, function() {});
349+
scrypt(v.password, v.salt, { logN: v.logN, r: v.r, p: 0, dkLen: v.dkLen});
350350
}, Error);
351351
});
352352

0 commit comments

Comments
 (0)