[FFmpeg-devel,3/4] lavf/tcp: check return value of setsockopt.

Submitted by Jun Zhao on Aug. 5, 2018, 1:14 p.m.

Details

Message ID 1533474873-10436-4-git-send-email-mypopydev@gmail.com
State New
Headers show

Commit Message

Jun Zhao Aug. 5, 2018, 1:14 p.m.
when setsockopt fail, use ff_log_net_error to dump the string
describing for error number.

Signed-off-by: Jun Zhao <mypopydev@gmail.com>
---
 libavformat/tcp.c |   16 ++++++++++++----
 1 files changed, 12 insertions(+), 4 deletions(-)

Patch hide | download patch | download mbox

diff --git a/libavformat/tcp.c b/libavformat/tcp.c
index 499e365..8bff9a3 100644
--- a/libavformat/tcp.c
+++ b/libavformat/tcp.c
@@ -151,17 +151,25 @@  static int tcp_open(URLContext *h, const char *uri, int flags)
     /* Set the socket's send or receive buffer sizes, if specified.
        If unspecified or setting fails, system default is used. */
     if (s->recv_buffer_size > 0) {
-        setsockopt (fd, SOL_SOCKET, SO_RCVBUF, &s->recv_buffer_size, sizeof (s->recv_buffer_size));
+        if (setsockopt (fd, SOL_SOCKET, SO_RCVBUF, &s->recv_buffer_size, sizeof (s->recv_buffer_size))) {
+            ff_log_net_error(h, AV_LOG_WARNING, "setsockopt(SO_RCVBUF)");
+        }
     }
     if (s->send_buffer_size > 0) {
-        setsockopt (fd, SOL_SOCKET, SO_SNDBUF, &s->send_buffer_size, sizeof (s->send_buffer_size));
+        if (setsockopt (fd, SOL_SOCKET, SO_SNDBUF, &s->send_buffer_size, sizeof (s->send_buffer_size))) {
+            ff_log_net_error(h, AV_LOG_WARNING, "setsockopt(SO_SNDBUF)");
+        }
     }
     if (s->tcp_nodelay > 0) {
-        setsockopt (fd, IPPROTO_TCP, TCP_NODELAY, &s->tcp_nodelay, sizeof (s->tcp_nodelay));
+        if (setsockopt (fd, IPPROTO_TCP, TCP_NODELAY, &s->tcp_nodelay, sizeof (s->tcp_nodelay))) {
+            ff_log_net_error(h, AV_LOG_WARNING, "setsockopt(TCP_NODELAY)");
+        }
     }
 #if !HAVE_WINSOCK2_H
     if (s->tcp_mss > 0) {
-        setsockopt (fd, IPPROTO_TCP, TCP_MAXSEG, &s->tcp_mss, sizeof (s->tcp_mss));
+        if (setsockopt (fd, IPPROTO_TCP, TCP_MAXSEG, &s->tcp_mss, sizeof (s->tcp_mss))) {
+            ff_log_net_error(h, AV_LOG_WARNING, "setsockopt(TCP_MAXSEG)");
+        }
     }
 #endif /* !HAVE_WINSOCK2_H */