Browse Source

net: add length check when normalizing args

This helps to prevent possible deoptimizations that arise when trying
to access nonexistent indices.

PR-URL: https://github.com/nodejs/node/pull/8112
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Evan Lucas <evanlucas@me.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
v7.x
Brian White 8 years ago
parent
commit
a206afec76
No known key found for this signature in database GPG Key ID: 606D7358F94DA209
  1. 6
      lib/net.js

6
lib/net.js

@ -74,7 +74,9 @@ exports.connect = exports.createConnection = function() {
function normalizeConnectArgs(args) { function normalizeConnectArgs(args) {
var options = {}; var options = {};
if (args[0] !== null && typeof args[0] === 'object') { if (args.length === 0) {
return [options];
} else if (args[0] !== null && typeof args[0] === 'object') {
// connect(options, [cb]) // connect(options, [cb])
options = args[0]; options = args[0];
} else if (isPipeName(args[0])) { } else if (isPipeName(args[0])) {
@ -83,7 +85,7 @@ function normalizeConnectArgs(args) {
} else { } else {
// connect(port, [host], [cb]) // connect(port, [host], [cb])
options.port = args[0]; options.port = args[0];
if (typeof args[1] === 'string') { if (args.length > 1 && typeof args[1] === 'string') {
options.host = args[1]; options.host = args[1];
} }
} }

Loading…
Cancel
Save