Skip to content

Commit 442968c

Browse files
committed
quic: check setSocket natRebinding argument, extend test
PR-URL: #34669 Reviewed-By: Anna Henningsen <anna@addaleax.net>
1 parent 10d5047 commit 442968c

File tree

2 files changed

+13
-0
lines changed

2 files changed

+13
-0
lines changed

lib/internal/quic/core.js

+2
Original file line numberDiff line numberDiff line change
@@ -2445,6 +2445,8 @@ class QuicClientSession extends QuicSession {
24452445
throw new ERR_INVALID_STATE('QuicSocket is already destroyed');
24462446
if (socket.closing)
24472447
throw new ERR_INVALID_STATE('QuicSocket is closing');
2448+
if (typeof natRebinding !== 'boolean')
2449+
throw new ERR_INVALID_ARG_TYPE('natRebinding', 'boolean', true);
24482450

24492451
await socket[kMaybeBind]();
24502452

test/parallel/test-quic-simple-client-migrate.js

+11
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,17 @@ const server = createQuicSocket({ server: options });
6969
const s1 = req.socket;
7070
const a1 = req.socket.endpoints[0].address;
7171

72+
await Promise.all([1, {}, 'test', false, null, undefined].map((i) => {
73+
return assert.rejects(req.setSocket(i), {
74+
code: 'ERR_INVALID_ARG_TYPE'
75+
});
76+
}));
77+
await Promise.all([1, {}, 'test', null].map((i) => {
78+
return assert.rejects(req.setSocket(req.socket, i), {
79+
code: 'ERR_INVALID_ARG_TYPE'
80+
});
81+
}));
82+
7283
await req.setSocket(client2);
7384

7485
// Verify that it is using a different network endpoint

0 commit comments

Comments
 (0)