Don't use msg on error.
Don't attempt to access msg structure if recvmsg returns an error. PR#3483 Reviewed-by: Stephen Henson <steve@openssl.org> Reviewed-by: Tim Hudson <tjh@openssl.org> (cherry picked from commit 012aa9ec76b158179b4de44bb5de8b8472045eac)
This commit is contained in:
parent
ba7aaa5622
commit
305e2b4111
@ -1082,6 +1082,13 @@ static int dgram_sctp_read(BIO *b, char *out, int outl)
|
|||||||
msg.msg_flags = 0;
|
msg.msg_flags = 0;
|
||||||
n = recvmsg(b->num, &msg, 0);
|
n = recvmsg(b->num, &msg, 0);
|
||||||
|
|
||||||
|
if (n <= 0)
|
||||||
|
{
|
||||||
|
if (n < 0)
|
||||||
|
ret = n;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
if (msg.msg_controllen > 0)
|
if (msg.msg_controllen > 0)
|
||||||
{
|
{
|
||||||
for (cmsg = CMSG_FIRSTHDR(&msg); cmsg; cmsg = CMSG_NXTHDR(&msg, cmsg))
|
for (cmsg = CMSG_FIRSTHDR(&msg); cmsg; cmsg = CMSG_NXTHDR(&msg, cmsg))
|
||||||
@ -1121,13 +1128,6 @@ static int dgram_sctp_read(BIO *b, char *out, int outl)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (n <= 0)
|
|
||||||
{
|
|
||||||
if (n < 0)
|
|
||||||
ret = n;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (msg.msg_flags & MSG_NOTIFICATION)
|
if (msg.msg_flags & MSG_NOTIFICATION)
|
||||||
{
|
{
|
||||||
snp = (union sctp_notification*) out;
|
snp = (union sctp_notification*) out;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user