summaryrefslogtreecommitdiff
path: root/libsoup/soup-socket.c
diff options
context:
space:
mode:
authorDan Winship <danw@gnome.org>2012-08-06 10:33:38 -0400
committerDan Winship <danw@gnome.org>2012-08-06 10:33:38 -0400
commit1ce7f05e303cda7e53cf7d8e7797f0340e10fd14 (patch)
treed175b3b2a509318454b9bb3fe021da5e93c16ef5 /libsoup/soup-socket.c
parenta0ceee0c3c17dde75faeb009bb6376b40780681f (diff)
downloadlibsoup-1ce7f05e303cda7e53cf7d8e7797f0340e10fd14.tar.gz
soup-socket.c: fix a use-after-free of a GCancellable
Diffstat (limited to 'libsoup/soup-socket.c')
-rw-r--r--libsoup/soup-socket.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/libsoup/soup-socket.c b/libsoup/soup-socket.c
index 4369ff38..c789e648 100644
--- a/libsoup/soup-socket.c
+++ b/libsoup/soup-socket.c
@@ -670,10 +670,11 @@ socket_connected (SoupSocket *sock, GSocketConnection *conn, GError *error)
if (priv->connect_cancel) {
GCancellable *cancellable = priv->connect_cancel;
+ gboolean cancelled = g_cancellable_is_cancelled (cancellable);
g_object_unref (priv->connect_cancel);
priv->connect_cancel = NULL;
- if (g_cancellable_is_cancelled (cancellable))
+ if (cancelled)
return SOUP_STATUS_CANCELLED;
}