mirror of
https://github.com/Mathewnd/Astral.git
synced 2026-11-02 07:28:21 +00:00
socket: zero addresses on accept/recv by default
This commit is contained in:
@@ -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) {
|
static int localsock_accept(socket_t *_server, socket_t *_clientconnection, sockaddr_t *addr, uintmax_t flags) {
|
||||||
localsocket_t *server = (localsocket_t *)_server;
|
localsocket_t *server = (localsocket_t *)_server;
|
||||||
localsocket_t *clientconnection = (localsocket_t *)_clientconnection;
|
localsocket_t *clientconnection = (localsocket_t *)_clientconnection;
|
||||||
|
addr->path[0] = '\0';
|
||||||
|
|
||||||
MUTEX_ACQUIRE(&server->socket.mutex);
|
MUTEX_ACQUIRE(&server->socket.mutex);
|
||||||
binding_t *binding = server->binding;
|
binding_t *binding = server->binding;
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ syscallret_t syscall_accept(context_t *, int oldfd, abisockaddr_t *abisockaddr,
|
|||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
sockaddr_t addr;
|
sockaddr_t addr = {0};
|
||||||
ret.errno = server->ops->accept(server, client, &addr, fileflagstovnodeflags(oldfile->flags));
|
ret.errno = server->ops->accept(server, client, &addr, fileflagstovnodeflags(oldfile->flags));
|
||||||
if (ret.errno) {
|
if (ret.errno) {
|
||||||
// socket gets deleted by node cleanup
|
// socket gets deleted by node cleanup
|
||||||
|
|||||||
Reference in New Issue
Block a user