summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDeokjin Kim <deokjin81.kim@gmail.com>2022-12-05 13:55:58 +0900
committerDanielle Adams <adamzdanielle@gmail.com>2023-01-04 20:31:52 -0500
commit5289edc583f4d5209909f78112fe2e36f690f95a (patch)
treec65749142408f3f34065fda3769f2a460d9c22d0
parent1a6dd98b6e08ee0c62d4de4a860d428b9570b0ef (diff)
downloadnode-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.js2
-rw-r--r--test/parallel/test-net-socket-connect-invalid-autoselectfamilyattempttimeout.js14
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' });
+}