commit 59ffa607a46135d0d02af72a40914e438e56d586 (tree)
parent 873bcb5aa66fd4fdd747b90ba0ed529117478368
Author: Andrew Kelley <andrew@ziglang.org>
Date: Wed, 22 Oct 2025 06:05:55 -0700
std.Io.Threaded: fix sending invalid pointer
OS wants valid control pointer even when len is zero
Diffstat:
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/lib/std/Io/Threaded.zig b/lib/std/Io/Threaded.zig
@@ -3555,7 +3555,8 @@ fn netSendOne(
.namelen = addressToPosix(message.address, &addr),
.iov = (&iovec)[0..1],
.iovlen = 1,
- .control = @constCast(message.control.ptr),
+ // OS returns EINVAL if this pointer is invalid even if controllen is zero.
+ .control = if (message.control.len == 0) null else @constCast(message.control.ptr),
.controllen = @intCast(message.control.len),
.flags = 0,
};