--- gearmand-1.1.12/libgearman-server/gearmand.cc.orig 2014-02-11 16:05:28.000000000 -0800 +++ gearmand-1.1.12/libgearman-server/gearmand.cc 2014-05-13 21:18:24.185931099 -0700 @@ -840,11 +840,11 @@ static void _listen_event(int event_fd, short events __attribute__ ((unused)), void *arg) { gearmand_port_st *port= (gearmand_port_st *)arg; - struct sockaddr sa; + struct sockaddr_storage sa; socklen_t sa_len= sizeof(sa); #if defined(HAVE_ACCEPT4) && HAVE_ACCEPT4 - int fd= accept4(event_fd, &sa, &sa_len, SOCK_NONBLOCK); // SOCK_NONBLOCK); + int fd= accept4(event_fd, (struct sockaddr*)&sa, &sa_len, SOCK_NONBLOCK); // SOCK_NONBLOCK); #else int fd= accept(event_fd, &sa, &sa_len); #endif @@ -878,7 +878,7 @@ */ char host[NI_MAXHOST]; char port_str[NI_MAXSERV]; - int error= getnameinfo(&sa, sa_len, host, NI_MAXHOST, port_str, NI_MAXSERV, + int error= getnameinfo((struct sockaddr*)&sa, sa_len, host, NI_MAXHOST, port_str, NI_MAXSERV, NI_NUMERICHOST | NI_NUMERICSERV); if (error != 0) {