summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@aleksander.es>2014-08-02 14:12:46 +0200
committerAleksander Morgado <aleksander@aleksander.es>2014-08-02 14:12:46 +0200
commit3c2e1b0df496842372178d07acb398d05a13f00d (patch)
treee39647974e4b116f7a8b6706d48cd00c90dbb57f
parent9ad75d9a0c1e8fd1afedaaa9279b96154b3d59ad (diff)
libmbim-glib,device: plug memleak
-rw-r--r--src/libmbim-glib/mbim-device.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/libmbim-glib/mbim-device.c b/src/libmbim-glib/mbim-device.c
index 79ba5f4..086ae4e 100644
--- a/src/libmbim-glib/mbim-device.c
+++ b/src/libmbim-glib/mbim-device.c
@@ -934,6 +934,8 @@ create_iochannel_with_socket (CreateIoChannelContext *ctx)
GError *error = NULL;
/* Create socket client */
+ if (ctx->self->priv->socket_client)
+ g_object_unref (ctx->self->priv->socket_client);
ctx->self->priv->socket_client = g_socket_client_new ();
g_socket_client_set_family (ctx->self->priv->socket_client, G_SOCKET_FAMILY_UNIX);
g_socket_client_set_socket_type (ctx->self->priv->socket_client, G_SOCKET_TYPE_STREAM);
@@ -946,6 +948,8 @@ create_iochannel_with_socket (CreateIoChannelContext *ctx)
G_UNIX_SOCKET_ADDRESS_ABSTRACT));
/* Connect to address */
+ if (ctx->self->priv->socket_connection)
+ g_object_unref (ctx->self->priv->socket_connection);
ctx->self->priv->socket_connection = (g_socket_client_connect (
ctx->self->priv->socket_client,
G_SOCKET_CONNECTABLE (socket_address),
@@ -993,7 +997,6 @@ create_iochannel_with_socket (CreateIoChannelContext *ctx)
return;
}
- g_object_ref (ctx->self->priv->socket_connection);
ctx->self->priv->iochannel = g_io_channel_unix_new (
g_socket_get_fd (
g_socket_connection_get_socket (ctx->self->priv->socket_connection)));