Commit b215f8667a

Andrew Kelley <andrew@ziglang.org>
2025-10-19 16:09:28
std.Io.net.HostName.ResolvConf: ignore nameservers above max
1 parent 83e4ff6
Changed files (1)
lib
std
lib/std/Io/net/HostName.zig
@@ -310,6 +310,8 @@ pub const ResolvConf = struct {
     search_buffer: [max_len]u8,
     search_len: usize,
 
+    /// According to resolv.conf(5) there is a maximum of 3 nameservers in this
+    /// file.
     pub const max_nameservers = 3;
 
     /// Returns `error.StreamTooLong` if a line is longer than 512 bytes.
@@ -394,9 +396,10 @@ pub const ResolvConf = struct {
     }
 
     fn addNumeric(rc: *ResolvConf, io: Io, name: []const u8, port: u16) !void {
-        assert(rc.nameservers_len < rc.nameservers_buffer.len);
-        rc.nameservers_buffer[rc.nameservers_len] = try .resolve(io, name, port);
-        rc.nameservers_len += 1;
+        if (rc.nameservers_len < rc.nameservers_buffer.len) {
+            rc.nameservers_buffer[rc.nameservers_len] = try .resolve(io, name, port);
+            rc.nameservers_len += 1;
+        }
     }
 
     pub fn nameservers(rc: *const ResolvConf) []const IpAddress {