diff options
author | Dan Winship <danw@src.gnome.org> | 2005-11-17 15:57:28 +0000 |
---|---|---|
committer | Dan Winship <danw@src.gnome.org> | 2005-11-17 15:57:28 +0000 |
commit | 1c84601b0d664dafc7a825eaf50fe149d6daf54c (patch) | |
tree | 4132ff43f8dc5903afa8d6e6f4458ebe7003d8e2 | |
parent | 1c677a4870af4c50f21f894bf5a75456d1d93443 (diff) | |
download | libsoup-1c84601b0d664dafc7a825eaf50fe149d6daf54c.tar.gz libsoup-1c84601b0d664dafc7a825eaf50fe149d6daf54c.tar.bz2 libsoup-1c84601b0d664dafc7a825eaf50fe149d6daf54c.zip |
clear priv->io_data right away, to protect against this being re-enteredLIBSOUP_2_2_90_NOT_A_REAL_RELEASE
* libsoup/soup-message-io.c (io_cleanup): clear priv->io_data
right away, to protect against this being re-entered mid-cleanup
(when we unref the connection). #321208, based on a patch from
Jedy Wang.
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | libsoup/soup-message-io.c | 9 |
2 files changed, 12 insertions, 4 deletions
@@ -1,3 +1,10 @@ +2005-11-17 Dan Winship <danw@novell.com> + + * libsoup/soup-message-io.c (io_cleanup): clear priv->io_data + right away, to protect against this being re-entered mid-cleanup + (when we unref the connection). #321208, based on a patch from + Jedy Wang. + 2005-11-16 Dan Winship <danw@novell.com> * libsoup/soup-xmlrpc-message.c diff --git a/libsoup/soup-message-io.c b/libsoup/soup-message-io.c index 7e59f163..76cc4491 100644 --- a/libsoup/soup-message-io.c +++ b/libsoup/soup-message-io.c @@ -75,12 +75,14 @@ static void io_cleanup (SoupMessage *msg) { SoupMessagePrivate *priv = SOUP_MESSAGE_GET_PRIVATE (msg); - SoupMessageIOData *io = priv->io_data; + SoupMessageIOData *io; + + soup_message_io_stop (msg); + io = priv->io_data; if (!io) return; - - soup_message_io_stop (msg); + priv->io_data = NULL; if (io->sock) g_object_unref (io->sock); @@ -94,7 +96,6 @@ io_cleanup (SoupMessage *msg) g_string_free (io->write_buf, TRUE); g_free (io); - priv->io_data = NULL; } /** |