From fde9350d0b5e8811dae892f70a23991d263ebfdb Mon Sep 17 00:00:00 2001 From: Dan Winship Date: Fri, 5 Aug 2005 14:59:35 +0000 Subject: [PATCH] Free priv->read_buf. From Tambet. (soup_socket_connect): Make sure that * libsoup/soup-socket.c (finalize): Free priv->read_buf. From Tambet. (soup_socket_connect): Make sure that get_iochannel() gets called if the connect succeeds right away, or the socket will fail on the first read or write. [#312540] --- ChangeLog | 8 ++++++++ libsoup/soup-socket.c | 10 ++++++---- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 22c087d..d976a94 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2005-08-05 Dan Winship + + * libsoup/soup-socket.c (finalize): Free priv->read_buf. From + Tambet. + (soup_socket_connect): Make sure that get_iochannel() gets called + if the connect succeeds right away, or the socket will fail on + the first read or write. [#312540] + 2005-08-01 Dan Winship * configure.in: drop version back down to 2.2.5 and diff --git a/libsoup/soup-socket.c b/libsoup/soup-socket.c index 3d5bc34..77a83f1 100644 --- a/libsoup/soup-socket.c +++ b/libsoup/soup-socket.c @@ -139,6 +139,9 @@ finalize (GObject *object) if (priv->watch) g_source_remove (priv->watch); + if (priv->read_buf) + g_byte_array_free (priv->read_buf, TRUE); + g_mutex_free (priv->addrlock); g_mutex_free (priv->iolock); @@ -552,7 +555,8 @@ soup_socket_connect (SoupSocket *sock, SoupAddress *remote_addr) SOUP_CLOSE_SOCKET (priv->sockfd); priv->sockfd = -1; } - } + } else + get_iochannel (priv); done: if (priv->non_blocking) { @@ -560,10 +564,8 @@ soup_socket_connect (SoupSocket *sock, SoupAddress *remote_addr) return SOUP_STATUS_CONTINUE; } else if (SOUP_IS_INVALID_SOCKET (priv->sockfd)) return SOUP_STATUS_CANT_CONNECT; - else { - get_iochannel (priv); + else return SOUP_STATUS_OK; - } } static gboolean -- 2.7.4