diff options
author | Deokjin Kim <deokjin81.kim@gmail.com> | 2022-12-05 13:55:58 +0900 |
---|---|---|
committer | Danielle Adams <adamzdanielle@gmail.com> | 2023-01-04 20:31:52 -0500 |
commit | 5289edc583f4d5209909f78112fe2e36f690f95a (patch) | |
tree | c65749142408f3f34065fda3769f2a460d9c22d0 | |
parent | 1a6dd98b6e08ee0c62d4de4a860d428b9570b0ef (diff) | |
download | node-new-5289edc583f4d5209909f78112fe2e36f690f95a.tar.gz |
net: check `autoSelectFamilyAttemptTimeout` is positive
In document, `autoSelectFamilyAttemptTimeout` is described as
positive integer because it's time unit. But there is no checking
whether it's positive integer.
PR-URL: https://github.com/nodejs/node/pull/45740
Refs: https://github.com/nodejs/node/blob/main/doc/api/net.md#socketconnectoptions-connectlistener
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Paolo Insogna <paolo@cowtech.it>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
-rw-r--r-- | lib/net.js | 2 | ||||
-rw-r--r-- | test/parallel/test-net-socket-connect-invalid-autoselectfamilyattempttimeout.js | 14 |
2 files changed, 15 insertions, 1 deletions
diff --git a/lib/net.js b/lib/net.js index 103b6c9264..33690d02e6 100644 --- a/lib/net.js +++ b/lib/net.js @@ -1226,7 +1226,7 @@ function lookupAndConnect(self, options) { } if (autoSelectFamilyAttemptTimeout !== undefined) { - validateInt32(autoSelectFamilyAttemptTimeout); + validateInt32(autoSelectFamilyAttemptTimeout, 'options.autoSelectFamilyAttemptTimeout', 1); if (autoSelectFamilyAttemptTimeout < 10) { autoSelectFamilyAttemptTimeout = 10; diff --git a/test/parallel/test-net-socket-connect-invalid-autoselectfamilyattempttimeout.js b/test/parallel/test-net-socket-connect-invalid-autoselectfamilyattempttimeout.js new file mode 100644 index 0000000000..b7bd1ec075 --- /dev/null +++ b/test/parallel/test-net-socket-connect-invalid-autoselectfamilyattempttimeout.js @@ -0,0 +1,14 @@ +'use strict'; +require('../common'); +const assert = require('assert'); +const net = require('net'); + +for (const autoSelectFamilyAttemptTimeout of [-10, 0]) { + assert.throws(() => { + net.connect({ + port: 8080, + autoSelectFamily: true, + autoSelectFamilyAttemptTimeout, + }); + }, { code: 'ERR_OUT_OF_RANGE' }); +} |