From c017eabdc9b4cea22a423728556d970abeb8f4c1 Mon Sep 17 00:00:00 2001 From: x19 <100000306+0xNineteen@users.noreply.github.com> Date: Thu, 16 Jan 2025 07:57:02 -0500 Subject: [PATCH] fix(gossip): contact-info cache OOB (#500) --- src/gossip/data.zig | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/gossip/data.zig b/src/gossip/data.zig index e54b348d1..b6b9a9182 100644 --- a/src/gossip/data.zig +++ b/src/gossip/data.zig @@ -1255,7 +1255,13 @@ pub const ContactInfo = struct { .ipv6 => SocketAddr.initIpv6(addr.asV6(), port), }; socket.sanitize() catch continue; - self.cache[@intFromEnum(socket_entry.key)] = socket; + + const cache_index = @intFromEnum(socket_entry.key); + if (cache_index >= SOCKET_CACHE_SIZE) { + // warn + continue; + } + self.cache[cache_index] = socket; } }