From c16edf41b7de9ced2840b1dd03fcb71e92c13704 Mon Sep 17 00:00:00 2001 From: Deokjin Kim Date: Mon, 5 Dec 2022 13:55:58 +0900 Subject: [PATCH 1/3] 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. --- lib/net.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/net.js b/lib/net.js index 71af5a90563880..9b0b1f87a636e5 100644 --- a/lib/net.js +++ b/lib/net.js @@ -1210,7 +1210,7 @@ function lookupAndConnect(self, options) { } if (autoSelectFamilyAttemptTimeout !== undefined) { - validateInt32(autoSelectFamilyAttemptTimeout); + validateInt32(autoSelectFamilyAttemptTimeout, 'options.autoSelectFamilyAttemptTimeout', 1); if (autoSelectFamilyAttemptTimeout < 10) { autoSelectFamilyAttemptTimeout = 10; From 9e892293eb17223ae3d05e488219ecb909509af2 Mon Sep 17 00:00:00 2001 From: Deokjin Kim Date: Mon, 5 Dec 2022 19:29:31 +0900 Subject: [PATCH 2/3] add test case --- ...nnect-invalid-autoselectfamilyattempttimeout.js | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 test/parallel/test-net-socket-connect-invalid-autoselectfamilyattempttimeout.js 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 00000000000000..d57815664c6d70 --- /dev/null +++ b/test/parallel/test-net-socket-connect-invalid-autoselectfamilyattempttimeout.js @@ -0,0 +1,14 @@ +'use strict'; +const common = require('../common'); +const assert = require('assert'); +const net = require('net'); + +const autoSelectFamilyAttemptTimeout = common.platformTimeout(-10); + +assert.throws(() => { + net.connect({ + port: 8080, + autoSelectFamily: true, + autoSelectFamilyAttemptTimeout, + }); +}, { code: 'ERR_OUT_OF_RANGE' }); From 017002d8b2a47603259f109baef9b696c1d4741b Mon Sep 17 00:00:00 2001 From: Deokjin Kim Date: Mon, 5 Dec 2022 23:34:31 +0900 Subject: [PATCH 3/3] use hard-coded negative integer and zero for test --- ...-invalid-autoselectfamilyattempttimeout.js | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/test/parallel/test-net-socket-connect-invalid-autoselectfamilyattempttimeout.js b/test/parallel/test-net-socket-connect-invalid-autoselectfamilyattempttimeout.js index d57815664c6d70..b7bd1ec0751ae8 100644 --- a/test/parallel/test-net-socket-connect-invalid-autoselectfamilyattempttimeout.js +++ b/test/parallel/test-net-socket-connect-invalid-autoselectfamilyattempttimeout.js @@ -1,14 +1,14 @@ 'use strict'; -const common = require('../common'); +require('../common'); const assert = require('assert'); const net = require('net'); -const autoSelectFamilyAttemptTimeout = common.platformTimeout(-10); - -assert.throws(() => { - net.connect({ - port: 8080, - autoSelectFamily: true, - autoSelectFamilyAttemptTimeout, - }); -}, { code: 'ERR_OUT_OF_RANGE' }); +for (const autoSelectFamilyAttemptTimeout of [-10, 0]) { + assert.throws(() => { + net.connect({ + port: 8080, + autoSelectFamily: true, + autoSelectFamilyAttemptTimeout, + }); + }, { code: 'ERR_OUT_OF_RANGE' }); +}