Skip to content

Commit 1ce4d7f

Browse files
author
Jiahao Si
committed
dns: fix getServers return undefined
1 parent 7a92662 commit 1ce4d7f

File tree

2 files changed

+13
-2
lines changed

2 files changed

+13
-2
lines changed

lib/internal/dns/utils.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ class Resolver {
6161
}
6262

6363
getServers() {
64-
return ArrayPrototypeMap(this._handle.getServers(), (val) => {
64+
return ArrayPrototypeMap(this._handle.getServers() || [], (val) => {
6565
if (!val[1] || val[1] === IANA_DNS_PORT)
6666
return val[0];
6767

@@ -76,7 +76,7 @@ class Resolver {
7676
// Cache the original servers because in the event of an error while
7777
// setting the servers, c-ares won't have any servers available for
7878
// resolution.
79-
const orig = this._handle.getServers();
79+
const orig = this._handle.getServers() || [];
8080
const newSet = [];
8181

8282
ArrayPrototypeForEach(servers, (serv, index) => {

test/parallel/test-dns-get-server.js

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
'use strict';
2+
const common = require('../common');
3+
const assert = require('assert');
4+
5+
const { Resolver } = require('dns');
6+
7+
const resolver = new Resolver();
8+
assert(resolver.getServers().length > 0);
9+
// Return undefined
10+
resolver._handle.getServers = common.mustCall(() => {});
11+
assert.strictEqual(resolver.getServers().length, 0);

0 commit comments

Comments
 (0)