mirror of
https://github.com/nodejs/node.git
synced 2026-10-28 10:15:07 +08:00
dns: validate address type in lookupService
Signed-off-by: Lazizbek Ergashev <lazerg2@gmail.com> PR-URL: https://github.com/nodejs/node/pull/64878 Fixes: https://github.com/nodejs/node/issues/64877 Reviewed-By: theanarkh <theratliter@gmail.com> Reviewed-By: Tim Perry <pimterry@gmail.com>
This commit is contained in:
1 parent
beeb1026c1
commit
da2d6178a6
3 files changed
+23
No files matched your search
@@ -83,6 +83,7 @@ const {
|
||||
validateNumber,
|
||||
validateOneOf,
|
||||
validatePort,
|
||||
validateString,
|
||||
validateStringWithoutNullBytes,
|
||||
} = require('internal/validators');
|
||||
|
||||
@@ -269,6 +270,8 @@ function lookupService(address, port, callback) {
|
||||
if (arguments.length !== 3)
|
||||
throw new ERR_MISSING_ARGS('address', 'port', 'callback');
|
||||
|
||||
validateString(address, 'address');
|
||||
|
||||
if (isIP(address) === 0)
|
||||
throw new ERR_INVALID_ARG_VALUE('address', address);
|
||||
|
||||
|
||||
@@ -282,6 +282,8 @@ function lookupService(address, port) {
|
||||
if (arguments.length !== 2)
|
||||
throw new ERR_MISSING_ARGS('address', 'port');
|
||||
|
||||
validateString(address, 'address');
|
||||
|
||||
if (isIP(address) === 0)
|
||||
throw new ERR_INVALID_ARG_VALUE('address', address);
|
||||
|
||||
|
||||
@@ -397,6 +397,24 @@ assert.throws(() => {
|
||||
}, err);
|
||||
}
|
||||
|
||||
{
|
||||
const invalidAddress = Buffer.from('127.0.0.1');
|
||||
const err = {
|
||||
code: 'ERR_INVALID_ARG_TYPE',
|
||||
name: 'TypeError',
|
||||
message: 'The "address" argument must be of type string. ' +
|
||||
'Received an instance of Buffer'
|
||||
};
|
||||
|
||||
assert.throws(() => {
|
||||
dnsPromises.lookupService(invalidAddress, 0);
|
||||
}, err);
|
||||
|
||||
assert.throws(() => {
|
||||
dns.lookupService(invalidAddress, 0, common.mustNotCall());
|
||||
}, err);
|
||||
}
|
||||
|
||||
[null, undefined, 65538, 'test', NaN, Infinity, Symbol(), 0n, true, false, '', () => {}, {}].forEach((port) => {
|
||||
const err = {
|
||||
code: 'ERR_SOCKET_BAD_PORT',
|
||||
|
||||
Reference in new issue
Block a user