diff --git a/lib/internal/errors.js b/lib/internal/errors.js index e7eb3bd133813a..b10886050728d4 100644 --- a/lib/internal/errors.js +++ b/lib/internal/errors.js @@ -28,7 +28,6 @@ const READABLE_OPERATOR = { const { errmap, - UV_EAI_MEMORY, UV_EAI_NODATA, UV_EAI_NONAME } = process.binding('uv'); @@ -639,9 +638,7 @@ function dnsException(code, syscall, hostname) { if (typeof code === 'number') { // FIXME(bnoordhuis) Remove this backwards compatibility nonsense and pass // the true error to the user. ENOTFOUND is not even a proper POSIX error! - if (code === UV_EAI_MEMORY || - code === UV_EAI_NODATA || - code === UV_EAI_NONAME) { + if (code === UV_EAI_NODATA || code === UV_EAI_NONAME) { code = 'ENOTFOUND'; // Fabricated error name. } else { code = lazyInternalUtil().getSystemErrorName(code); diff --git a/test/parallel/test-dns-memory-error.js b/test/parallel/test-dns-memory-error.js new file mode 100644 index 00000000000000..2048ad4c4ea6d3 --- /dev/null +++ b/test/parallel/test-dns-memory-error.js @@ -0,0 +1,15 @@ +// Flags: --expose-internals +'use strict'; + +// Check that if libuv reports a memory error on a DNS query, that the memory +// error is passed through and not replaced with ENOTFOUND. + +require('../common'); + +const assert = require('assert'); +const errors = require('internal/errors'); + +const { UV_EAI_MEMORY } = process.binding('uv'); +const memoryError = errors.dnsException(UV_EAI_MEMORY, 'fhqwhgads'); + +assert.strictEqual(memoryError.code, 'EAI_MEMORY'); diff --git a/test/parallel/test-http-dns-error.js b/test/parallel/test-http-dns-error.js index 06a15c89fb46b3..e3d09a39d0e276 100644 --- a/test/parallel/test-http-dns-error.js +++ b/test/parallel/test-http-dns-error.js @@ -29,7 +29,7 @@ const assert = require('assert'); const http = require('http'); const https = require('https'); -const host = '*'.repeat(256); +const host = '*'.repeat(64); const MAX_TRIES = 5; let errCode = 'ENOTFOUND'; diff --git a/test/parallel/test-net-dns-error.js b/test/parallel/test-net-dns-error.js index 0d943bf6cd54a0..bb90eafc3d95da 100644 --- a/test/parallel/test-net-dns-error.js +++ b/test/parallel/test-net-dns-error.js @@ -25,7 +25,7 @@ const common = require('../common'); const assert = require('assert'); const net = require('net'); -const host = '*'.repeat(256); +const host = '*'.repeat(64); const errCode = common.isOpenBSD ? 'EAI_FAIL' : 'ENOTFOUND'; const socket = net.connect(42, host, common.mustNotCall());