summaryrefslogtreecommitdiff
path: root/ext/socket/socket.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/socket/socket.c')
-rw-r--r--ext/socket/socket.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/ext/socket/socket.c b/ext/socket/socket.c
index 7e33de1411..abce61307a 100644
--- a/ext/socket/socket.c
+++ b/ext/socket/socket.c
@@ -688,13 +688,13 @@ sock_accept(VALUE sock)
{
rb_io_t *fptr;
VALUE sock2;
- char buf[1024];
+ struct sockaddr_storage buf;
socklen_t len = sizeof buf;
GetOpenFile(sock, fptr);
- sock2 = s_accept(rb_cSocket,fptr->fd,(struct sockaddr*)buf,&len);
+ sock2 = s_accept(rb_cSocket,fptr->fd,(struct sockaddr*)&buf,&len);
- return rb_assoc_new(sock2, io_socket_addrinfo(sock2, (struct sockaddr*)buf, len));
+ return rb_assoc_new(sock2, io_socket_addrinfo(sock2, (struct sockaddr*)&buf, len));
}
/*
@@ -750,12 +750,12 @@ sock_accept_nonblock(VALUE sock)
{
rb_io_t *fptr;
VALUE sock2;
- char buf[1024];
+ struct sockaddr_storage buf;
socklen_t len = sizeof buf;
GetOpenFile(sock, fptr);
- sock2 = s_accept_nonblock(rb_cSocket, fptr, (struct sockaddr *)buf, &len);
- return rb_assoc_new(sock2, io_socket_addrinfo(sock2, (struct sockaddr*)buf, len));
+ sock2 = s_accept_nonblock(rb_cSocket, fptr, (struct sockaddr *)&buf, &len);
+ return rb_assoc_new(sock2, io_socket_addrinfo(sock2, (struct sockaddr*)&buf, len));
}
/*
@@ -802,13 +802,13 @@ sock_sysaccept(VALUE sock)
{
rb_io_t *fptr;
VALUE sock2;
- char buf[1024];
+ struct sockaddr_storage buf;
socklen_t len = sizeof buf;
GetOpenFile(sock, fptr);
- sock2 = s_accept(0,fptr->fd,(struct sockaddr*)buf,&len);
+ sock2 = s_accept(0,fptr->fd,(struct sockaddr*)&buf,&len);
- return rb_assoc_new(sock2, io_socket_addrinfo(sock2, (struct sockaddr*)buf, len));
+ return rb_assoc_new(sock2, io_socket_addrinfo(sock2, (struct sockaddr*)&buf, len));
}
#ifdef HAVE_GETHOSTNAME