summaryrefslogtreecommitdiffstats
path: root/crypto/bio
diff options
context:
space:
mode:
authorJan Hykel <jan.hykel@acision.com>2014-11-16 16:51:17 +0000
committerDr. Stephen Henson <steve@openssl.org>2014-11-17 12:41:47 +0000
commit305e2b41112c3d87872da5aea3b4147ed704cdaf (patch)
tree486c2dfae723a2574bd0898a876e30016ecbee2b /crypto/bio
parentba7aaa5622b16ef35a445fc03338bb8af7b80d6e (diff)
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)
Diffstat (limited to 'crypto/bio')
-rw-r--r--crypto/bio/bss_dgram.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/crypto/bio/bss_dgram.c b/crypto/bio/bss_dgram.c
index 9c0950191b..db87f34175 100644
--- a/crypto/bio/bss_dgram.c
+++ b/crypto/bio/bss_dgram.c
@@ -1082,6 +1082,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))
@@ -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)
{
snp = (union sctp_notification*) out;