diff options
-rw-r--r-- | src/bun.js/api/bun/dns_resolver.zig | 5 |
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 }; } |