From eaba9adb03f0427ecf0a7a8b6937a6b82e134266 Mon Sep 17 00:00:00 2001 From: Giorgi Rostomashvili Date: Sun, 27 Sep 2020 16:44:53 +0200 Subject: [PATCH] fix: net listen crashes on explicit undefined hostname (#7706) --- cli/rt/30_net.js | 4 ++-- cli/tests/unit/net_test.ts | 11 +++++++++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/cli/rt/30_net.js b/cli/rt/30_net.js index 53de5200d2..9a71f06935 100644 --- a/cli/rt/30_net.js +++ b/cli/rt/30_net.js @@ -203,10 +203,10 @@ } } - function listen(options) { + function listen({ hostname, ...options }) { const res = opListen({ transport: "tcp", - hostname: "0.0.0.0", + hostname: typeof hostname === "undefined" ? "0.0.0.0" : hostname, ...options, }); diff --git a/cli/tests/unit/net_test.ts b/cli/tests/unit/net_test.ts index 2c61343189..8eaabdbba3 100644 --- a/cli/tests/unit/net_test.ts +++ b/cli/tests/unit/net_test.ts @@ -533,3 +533,14 @@ unitTest( await resolvable; }, ); + +unitTest( + { + perms: { net: true }, + }, + function netExplicitUndefinedHostname() { + const listener = Deno.listen({ hostname: undefined, port: 8080 }); + assertEquals((listener.addr as Deno.NetAddr).hostname, "0.0.0.0"); + listener.close(); + }, +);