aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2022-01-10 17:34:04 +0100
committerAnton Khirnov <anton@khirnov.net>2022-01-21 09:25:05 +0100
commit9e4693a1cbac13324bff9a57fa4dace405ee5ab9 (patch)
tree12cb9498a1541f6f3f5e9750e335b2d0d393e0ce
parentd2519e8625f901856bfc915a1dc1f492bbd8b395 (diff)
downloadffmpeg-9e4693a1cbac13324bff9a57fa4dace405ee5ab9.tar.gz
lavf/network: log ff_listen() errors to proper contexts rather than NULL
-rw-r--r--libavformat/network.c6
-rw-r--r--libavformat/network.h3
-rw-r--r--libavformat/tcp.c2
3 files changed, 6 insertions, 5 deletions
diff --git a/libavformat/network.c b/libavformat/network.c
index c3d9f82551..246ffd406d 100644
--- a/libavformat/network.c
+++ b/libavformat/network.c
@@ -208,12 +208,12 @@ int ff_socket(int af, int type, int proto, void *logctx)
}
int ff_listen(int fd, const struct sockaddr *addr,
- socklen_t addrlen)
+ socklen_t addrlen, void *logctx)
{
int ret;
int reuse = 1;
if (setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &reuse, sizeof(reuse))) {
- av_log(NULL, AV_LOG_WARNING, "setsockopt(SO_REUSEADDR) failed\n");
+ av_log(logctx, AV_LOG_WARNING, "setsockopt(SO_REUSEADDR) failed\n");
}
ret = bind(fd, addr, addrlen);
if (ret)
@@ -247,7 +247,7 @@ int ff_listen_bind(int fd, const struct sockaddr *addr,
socklen_t addrlen, int timeout, URLContext *h)
{
int ret;
- if ((ret = ff_listen(fd, addr, addrlen)) < 0)
+ if ((ret = ff_listen(fd, addr, addrlen, h)) < 0)
return ret;
if ((ret = ff_accept(fd, timeout, h)) < 0)
return ret;
diff --git a/libavformat/network.h b/libavformat/network.h
index d76166faf6..71c49a73fb 100644
--- a/libavformat/network.h
+++ b/libavformat/network.h
@@ -271,7 +271,8 @@ int ff_listen_bind(int fd, const struct sockaddr *addr,
* @param addrlen Third argument of bind().
* @return 0 on success or an AVERROR on failure.
*/
-int ff_listen(int fd, const struct sockaddr *addr, socklen_t addrlen);
+int ff_listen(int fd, const struct sockaddr *addr, socklen_t addrlen,
+ void *logctx);
/**
* Poll for a single connection on the passed file descriptor.
diff --git a/libavformat/tcp.c b/libavformat/tcp.c
index 84d40a1e11..a11ccbb913 100644
--- a/libavformat/tcp.c
+++ b/libavformat/tcp.c
@@ -188,7 +188,7 @@ static int tcp_open(URLContext *h, const char *uri, int flags)
if (s->listen == 2) {
// multi-client
- if ((ret = ff_listen(fd, cur_ai->ai_addr, cur_ai->ai_addrlen)) < 0)
+ if ((ret = ff_listen(fd, cur_ai->ai_addr, cur_ai->ai_addrlen, h)) < 0)
goto fail1;
} else if (s->listen == 1) {
// single client