aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/bun.js/api/bun/dns_resolver.zig5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/bun.js/api/bun/dns_resolver.zig b/src/bun.js/api/bun/dns_resolver.zig
index d6eced813..f376151ad 100644
--- a/src/bun.js/api/bun/dns_resolver.zig
+++ b/src/bun.js/api/bun/dns_resolver.zig
@@ -739,7 +739,6 @@ pub const GetAddrInfoRequest = struct {
if (hints) |*hint| hint else null,
&addrinfo,
);
- defer std.c.freeaddrinfo(addrinfo);
JSC.Node.Syscall.syslog("getaddrinfo({s}, {d}) = {d} ({any})", .{
query.name,
port,
@@ -750,6 +749,10 @@ pub const GetAddrInfoRequest = struct {
this.* = .{ .err = @enumToInt(err) };
return;
}
+
+ // do not free addrinfo when err != 0
+ // https://github.com/ziglang/zig/pull/14242
+ defer std.c.freeaddrinfo(addrinfo);
this.* = .{ .success = GetAddrInfo.Result.toList(default_allocator, addrinfo) catch unreachable };
}