diff options
-rw-r--r-- | src/bun.js/api/bun/dns_resolver.zig | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/bun.js/api/bun/dns_resolver.zig b/src/bun.js/api/bun/dns_resolver.zig index 6fe100131..ac29ae145 100644 --- a/src/bun.js/api/bun/dns_resolver.zig +++ b/src/bun.js/api/bun/dns_resolver.zig @@ -730,7 +730,7 @@ pub const GetAddrInfoRequest = struct { var hostname: [bun.MAX_PATH_BYTES]u8 = undefined; _ = strings.copy(hostname[0..], query.name); hostname[query.name.len] = 0; - var addrinfo: *std.c.addrinfo = undefined; + var addrinfo: ?*std.c.addrinfo = null; var host = hostname[0..query.name.len :0]; const debug_timer = bun.Output.DebugTimer.start(); const err = std.c.getaddrinfo( @@ -745,16 +745,16 @@ pub const GetAddrInfoRequest = struct { err, debug_timer, }); - if (@enumToInt(err) != 0) { + if (@enumToInt(err) != 0 or addrinfo == null) { this.* = .{ .err = @enumToInt(err) }; return; } // do not free addrinfo when err != 0 // https://github.com/ziglang/zig/pull/14242 - defer std.c.freeaddrinfo(addrinfo); + defer std.c.freeaddrinfo(addrinfo.?); - this.* = .{ .success = GetAddrInfo.Result.toList(default_allocator, addrinfo) catch unreachable }; + this.* = .{ .success = GetAddrInfo.Result.toList(default_allocator, addrinfo.?) catch unreachable }; } }, |