From: Kurt Roeckx Date: Sat, 20 Jun 2015 14:46:33 +0000 (+0200) Subject: Check dgram_sctp_write() return value. X-Git-Tag: OpenSSL_1_1_0-pre1~948 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=7f098cb4360a2677aab741ffc661964c501dd51e;p=openssl Check dgram_sctp_write() return value. Reviewed-by: Rich Salz --- diff --git a/crypto/bio/bss_dgram.c b/crypto/bio/bss_dgram.c index 089a952096..dabfea35c0 100644 --- a/crypto/bio/bss_dgram.c +++ b/crypto/bio/bss_dgram.c @@ -1219,9 +1219,13 @@ static int dgram_sctp_read(BIO *b, char *out, int outl) * it can be sent now. */ if (data->saved_message.length > 0) { - dgram_sctp_write(data->saved_message.bio, + i = dgram_sctp_write(data->saved_message.bio, data->saved_message.data, data->saved_message.length); + if (i < 0) { + ret = i; + break; + } OPENSSL_free(data->saved_message.data); data->saved_message.data = NULL; data->saved_message.length = 0; @@ -1366,6 +1370,14 @@ static int dgram_sctp_read(BIO *b, char *out, int outl) return (ret); } +/* + * dgram_sctp_write - send message on SCTP socket + * @b: BIO to write to + * @in: data to send + * @inl: amount of bytes in @in to send + * + * Returns -1 on error or the sent amount of bytes on success + */ static int dgram_sctp_write(BIO *b, const char *in, int inl) { int ret;