g_socket_send_message() and g_socket_send_to() fail with ENOBUFS or
EFAULT due to the fact that if no "address" argument is specified to
g_socket_send_message, when g_socket_send_message() calls sendmsg(2),
the 2nd parameter to sendmsg ("const struct msghdr *msg") contains
uninitialized values. The fix is simple - initialize msg.msg_name to
NULL and msg.msg_msg_namelen to 0.
https://bugzilla.gnome.org/show_bug.cgi?id=594759
if (!g_socket_address_to_native (address, msg.msg_name, msg.msg_namelen, error))
return -1;
}
+ else
+ {
+ msg.msg_name = NULL;
+ msg.msg_namelen = 0;
+ }
/* iov */
{