diff --git a/lib/bcoin/utils.js b/lib/bcoin/utils.js index e1820fc4..5ee2791f 100644 --- a/lib/bcoin/utils.js +++ b/lib/bcoin/utils.js @@ -873,7 +873,7 @@ utils.ip2version = function ip2version(ip, version) { var b, i, j; assert(Buffer.isBuffer(ip)); - assert(version === 4 || version === 6); + assert(version === 4 || version === 6, 'Bad IP version.'); if (version === 4) { // Check to see if this an @@ -953,17 +953,20 @@ utils.ip2version = function ip2version(ip, version) { utils.ip2array = function ip2array(ip, version) { var type = utils.isIP(ip); + var parts; - assert(version === 4 || version === 6); + assert(version === 4 || version === 6, 'Bad IP version.'); if (type === 0) { if (!Buffer.isBuffer(ip)) ip = new Buffer([0, 0, 0, 0]); } else if (type === 4) { - ip = new Buffer(ip.split('.').map(function(n) { - return +n; - })); - assert(ip.length <= 4); + parts = ip.split('.'); + ip = new Buffer(4); + ip[0] = +parts[0]; + ip[1] = +parts[1]; + ip[2] = +parts[2]; + ip[3] = +parts[3]; } else if (type === 6) { ip = new Buffer(ip.replace(/:/g, ''), 'hex'); assert(ip.length <= 16); @@ -989,7 +992,7 @@ utils.array2ip = function array2ip(ip, version) { ip = new Buffer([0, 0, 0, 0]); } - assert(version === 4 || version === 6); + assert(version === 4 || version === 6, 'Bad IP version.'); assert(ip.length <= 16); ip = utils.ip2version(ip, version);