mirror of
https://github.com/zeromq/libzmq.git
synced 2025-02-23 07:12:47 +01:00
Problem: test_radio_dish_udp_ipv6 triggers assertion under Windows
Solution: fix handling of sockaddr in recvfrom
This commit is contained in:
parent
dd1c87f9d9
commit
e78d20ff2c
@ -425,8 +425,8 @@ void zmq::udp_engine_t::restart_output ()
|
||||
|
||||
void zmq::udp_engine_t::in_event ()
|
||||
{
|
||||
struct sockaddr_in in_address;
|
||||
socklen_t in_addrlen = sizeof (sockaddr_in);
|
||||
sockaddr_storage in_address;
|
||||
socklen_t in_addrlen = sizeof (sockaddr_storage);
|
||||
#ifdef ZMQ_HAVE_WINDOWS
|
||||
int nbytes = recvfrom (fd, (char *) in_buffer, MAX_UDP_MSG, 0,
|
||||
(sockaddr *) &in_address, &in_addrlen);
|
||||
@ -459,7 +459,8 @@ void zmq::udp_engine_t::in_event ()
|
||||
msg_t msg;
|
||||
|
||||
if (options.raw_socket) {
|
||||
sockaddr_to_msg (&msg, &in_address);
|
||||
zmq_assert (in_address.ss_family == AF_INET);
|
||||
sockaddr_to_msg (&msg, reinterpret_cast<sockaddr_in *> (&in_address));
|
||||
|
||||
body_size = nbytes;
|
||||
body_offset = 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user