Skip to content

Commit 8bad519

Browse files
committed
src: return UV_EAI_NODATA on empty lookup
AfterGetAddrInfo() can potentially return an empty array of results without setting an error value. The JavaScript layer expects the array to have at least one value if an error is not returned. This commit sets a UV_EAI_NODATA error when an empty result array is detected. Fixes: #4545 PR-URL: #4715 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Evan Lucas <evanlucas@me.com> Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
1 parent 761cf2b commit 8bad519

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

src/cares_wrap.cc

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -983,6 +983,10 @@ void AfterGetAddrInfo(uv_getaddrinfo_t* req, int status, struct addrinfo* res) {
983983
address = address->ai_next;
984984
}
985985

986+
// No responses were found to return
987+
if (n == 0) {
988+
argv[0] = Integer::New(env->isolate(), UV_EAI_NODATA);
989+
}
986990

987991
argv[1] = results;
988992
}

0 commit comments

Comments
 (0)