[FFmpeg-devel] [PATCH] libavformat/tcp: fix return code for tcp_accept

Simon Thelen ffmpeg-dev at c-14.de
Sat Apr 8 15:01:39 EEST 2017


ff_accept can return AVERROR(ETIMEDOUT) and errno will be 0 (or
undefined), return ret instead and return ff_neterror() in
ff_poll_interrupt instead of AVERROR(errno) in case of Windows
shenanigans.
---
 libavformat/network.c | 2 +-
 libavformat/tcp.c     | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/libavformat/network.c b/libavformat/network.c
index 2fb1c8b02a..b3987a4d11 100644
--- a/libavformat/network.c
+++ b/libavformat/network.c
@@ -159,7 +159,7 @@ static int ff_poll_interrupt(struct pollfd *p, nfds_t nfds, int timeout,
     if (!ret)
         return AVERROR(ETIMEDOUT);
     if (ret < 0)
-        return AVERROR(errno);
+        return ff_neterrno(void);
     return ret;
 }
 
diff --git a/libavformat/tcp.c b/libavformat/tcp.c
index 3055e48015..07b4ed9fa3 100644
--- a/libavformat/tcp.c
+++ b/libavformat/tcp.c
@@ -204,7 +204,7 @@ static int tcp_accept(URLContext *s, URLContext **c)
     cc = (*c)->priv_data;
     ret = ff_accept(sc->fd, sc->listen_timeout, s);
     if (ret < 0)
-        return ff_neterrno();
+        return ret;
     cc->fd = ret;
     return 0;
 }
-- 
2.12.2



More information about the ffmpeg-devel mailing list