From: Jan Hykel Date: Sun, 16 Nov 2014 16:51:17 +0000 (+0000) Subject: Don't use msg on error. X-Git-Tag: OpenSSL_1_0_1k~97 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=e5cf62b04d39042d7d2b1464a4c62736ec3f2ce7;p=oweals%2Fopenssl.git Don't use msg on error. Don't attempt to access msg structure if recvmsg returns an error. PR#3483 Reviewed-by: Stephen Henson Reviewed-by: Tim Hudson (cherry picked from commit 012aa9ec76b158179b4de44bb5de8b8472045eac) --- diff --git a/crypto/bio/bss_dgram.c b/crypto/bio/bss_dgram.c index d9967e7272..8cad5b41db 100644 --- a/crypto/bio/bss_dgram.c +++ b/crypto/bio/bss_dgram.c @@ -1034,6 +1034,13 @@ static int dgram_sctp_read(BIO *b, char *out, int outl) msg.msg_flags = 0; n = recvmsg(b->num, &msg, 0); + if (n <= 0) + { + if (n < 0) + ret = n; + break; + } + if (msg.msg_controllen > 0) { for (cmsg = CMSG_FIRSTHDR(&msg); cmsg; cmsg = CMSG_NXTHDR(&msg, cmsg)) @@ -1073,13 +1080,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) { snp = (union sctp_notification*) out;