From c05163f191a232b7a2767658707f5a686f915a2b Mon Sep 17 00:00:00 2001 From: Matheus Date: Tue, 7 Jul 2026 11:24:44 -0300 Subject: [PATCH] socket: zero addresses on accept/recv by default --- kernel-src/io/net/localsocket.c | 1 + kernel-src/sys/syscalls/accept.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/kernel-src/io/net/localsocket.c b/kernel-src/io/net/localsocket.c index 7ce19a74..34bd2123 100644 --- a/kernel-src/io/net/localsocket.c +++ b/kernel-src/io/net/localsocket.c @@ -640,6 +640,7 @@ static int localsock_recv(socket_t *socket, sockdesc_t *sockdesc) { static int localsock_accept(socket_t *_server, socket_t *_clientconnection, sockaddr_t *addr, uintmax_t flags) { localsocket_t *server = (localsocket_t *)_server; localsocket_t *clientconnection = (localsocket_t *)_clientconnection; + addr->path[0] = '\0'; MUTEX_ACQUIRE(&server->socket.mutex); binding_t *binding = server->binding; diff --git a/kernel-src/sys/syscalls/accept.c b/kernel-src/sys/syscalls/accept.c index 7a8b57d9..9caae2fe 100644 --- a/kernel-src/sys/syscalls/accept.c +++ b/kernel-src/sys/syscalls/accept.c @@ -46,7 +46,7 @@ syscallret_t syscall_accept(context_t *, int oldfd, abisockaddr_t *abisockaddr, goto cleanup; } - sockaddr_t addr; + sockaddr_t addr = {0}; ret.errno = server->ops->accept(server, client, &addr, fileflagstovnodeflags(oldfile->flags)); if (ret.errno) { // socket gets deleted by node cleanup