bss_dgram.c: re-fix BIO_CTRL_DGRAM_GET_PEER (from HEAD).
This commit is contained in:
parent
aefb9dc5e5
commit
8b9b23603f
@ -565,21 +565,23 @@ static long dgram_ctrl(BIO *b, int cmd, long num, void *ptr)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case BIO_CTRL_DGRAM_GET_PEER:
|
case BIO_CTRL_DGRAM_GET_PEER:
|
||||||
to = (struct sockaddr *) ptr;
|
switch (data->peer.sa.sa_family)
|
||||||
switch (to->sa_family)
|
|
||||||
{
|
{
|
||||||
case AF_INET:
|
case AF_INET:
|
||||||
memcpy(to,&data->peer,(ret=sizeof(data->peer.sa_in)));
|
ret=sizeof(data->peer.sa_in);
|
||||||
break;
|
break;
|
||||||
#if OPENSSL_USE_IPV6
|
#if OPENSSL_USE_IPV6
|
||||||
case AF_INET6:
|
case AF_INET6:
|
||||||
memcpy(to,&data->peer,(ret=sizeof(data->peer.sa_in6)));
|
ret=sizeof(data->peer.sa_in6);
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
default:
|
default:
|
||||||
memcpy(to,&data->peer,(ret=sizeof(data->peer.sa)));
|
ret=sizeof(data->peer.sa);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
if (num==0 || num>ret)
|
||||||
|
num=ret;
|
||||||
|
memcpy(ptr,&data->peer,(ret=num));
|
||||||
break;
|
break;
|
||||||
case BIO_CTRL_DGRAM_SET_PEER:
|
case BIO_CTRL_DGRAM_SET_PEER:
|
||||||
to = (struct sockaddr *) ptr;
|
to = (struct sockaddr *) ptr;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user