From 345756ed9d45dfd308c9f670d361474ef6eb84cc Mon Sep 17 00:00:00 2001 From: Zaheer Abbas Merali Date: Thu, 21 Oct 2004 10:53:20 +0000 Subject: [PATCH] gst/tcp/gsttcpserversink.c: Zero some variables first (need for accept not to return EINVAL) Original commit message from CVS: 2004-10-21 Zaheer Abbas Merali * gst/tcp/gsttcpserversink.c: (gst_tcpserversink_handle_server_read), (gst_tcpserversink_init_send): Zero some variables first (need for accept not to return EINVAL) --- ChangeLog | 7 +++++++ gst/tcp/gsttcpserversink.c | 8 +++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index e71a76be29..f1782338dd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2004-10-21 Zaheer Abbas Merali + + * gst/tcp/gsttcpserversink.c: + (gst_tcpserversink_handle_server_read), + (gst_tcpserversink_init_send): + Zero some variables first (need for accept not to return EINVAL) + 2004-10-20 Ronald S. Bultje * ext/ogg/gstoggdemux.c: (gst_ogg_demux_src_query), diff --git a/gst/tcp/gsttcpserversink.c b/gst/tcp/gsttcpserversink.c index b578b04404..70fe090813 100644 --- a/gst/tcp/gsttcpserversink.c +++ b/gst/tcp/gsttcpserversink.c @@ -157,12 +157,18 @@ gst_tcpserversink_handle_server_read (GstTCPServerSink * sink) struct sockaddr_in client_address; int client_address_len; + /* For some stupid reason, client_address and client_address_len has to be + * zeroed */ + memset (&client_address, 0, sizeof (client_address)); + client_address_len = 0; + client_sock_fd = accept (sink->server_sock.fd, (struct sockaddr *) &client_address, &client_address_len); if (client_sock_fd == -1) { GST_ELEMENT_ERROR (sink, RESOURCE, OPEN_WRITE, (NULL), - ("Could not accept client on server socket: %s", g_strerror (errno))); + ("Could not accept client on server socket %d: %s (%d)", + sink->server_sock.fd, g_strerror (errno), errno)); return FALSE; }