diff --git a/lib/socket.c b/lib/socket.c index 3dd769aeb..e1c9a707c 100644 --- a/lib/socket.c +++ b/lib/socket.c @@ -359,8 +359,8 @@ static ssize_t __ip_sendmsg(socket_t *s, struct msghdr *mh, const endpoint_t *ep static ssize_t __ip_sendto(socket_t *s, const void *buf, size_t len, const endpoint_t *ep) { struct sockaddr_storage sin; - s->family->endpoint2sockaddr(&sin, ep); - return sendto(s->fd, buf, len, 0, (void *) &sin, s->family->sockaddr_size); + ep->address.family->endpoint2sockaddr(&sin, ep); + return sendto(s->fd, buf, len, 0, (void *) &sin, ep->address.family->sockaddr_size); } static int __ip4_tos(socket_t *s, unsigned int tos) { unsigned char ctos;