From 41ecbbc7aa3d491cc9d8d425634c5901eefa088a Mon Sep 17 00:00:00 2001 From: Martin Storsjö Date: Fri, 27 Jul 2012 20:22:51 +0300 Subject: tls: Return AVERROR_EOF if the TLS_read/write functions return 0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit OpenSSL returns 0 when the peer has closed the connection. GnuTLS doesn't return that though, but returns GNUTLS_E_UNEXPECTED_PACKET_LENGTH if the connection simply is closed without a clean close notify packet. Tested-by: Antti Seppälä Signed-off-by: Martin Storsjö --- libavformat/tls.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'libavformat/tls.c') diff --git a/libavformat/tls.c b/libavformat/tls.c index fb84fa82b6..866e55f2ba 100644 --- a/libavformat/tls.c +++ b/libavformat/tls.c @@ -209,7 +209,7 @@ static int tls_read(URLContext *h, uint8_t *buf, int size) if (ret > 0) return ret; if (ret == 0) - return AVERROR(EIO); + return AVERROR_EOF; if ((ret = do_tls_poll(h, ret)) < 0) return ret; } @@ -224,7 +224,7 @@ static int tls_write(URLContext *h, const uint8_t *buf, int size) if (ret > 0) return ret; if (ret == 0) - return AVERROR(EIO); + return AVERROR_EOF; if ((ret = do_tls_poll(h, ret)) < 0) return ret; } -- cgit v1.2.3