aboutsummaryrefslogtreecommitdiff
path: root/src/mm-modem-base.c
diff options
context:
space:
mode:
authorDan Williams <dcbw@redhat.com>2010-05-07 13:56:23 -0700
committerDan Williams <dcbw@redhat.com>2010-05-07 13:56:23 -0700
commitb8f0f403499b185c7bd37a19e8bbf907344ac904 (patch)
tree442e753f0ada43dd48ffbd342aa62a782236b6e0 /src/mm-modem-base.c
parente855922b4b6f9f712e91732db1104dbb22faa0e8 (diff)
core: fix memory leaks
Since MMModem is an interface and doesn't store stuff like the modem's physdev internally (since it's an interface) these things are handled via GObject properties. And since g_object_get() returns allocated values, we need to free the returned value from mm_modem_get_device() after we're done with it.
Diffstat (limited to 'src/mm-modem-base.c')
-rw-r--r--src/mm-modem-base.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/mm-modem-base.c b/src/mm-modem-base.c
index 733a647e..0a91d3f6 100644
--- a/src/mm-modem-base.c
+++ b/src/mm-modem-base.c
@@ -102,7 +102,7 @@ mm_modem_base_add_port (MMModemBase *self,
{
MMModemBasePrivate *priv = MM_MODEM_BASE_GET_PRIVATE (self);
MMPort *port = NULL;
- char *key;
+ char *key, *device;
g_return_val_if_fail (MM_IS_MODEM_BASE (self), NULL);
g_return_val_if_fail (subsys != NULL, NULL);
@@ -138,10 +138,13 @@ mm_modem_base_add_port (MMModemBase *self,
return NULL;
if (mm_options_debug ()) {
+ device = mm_modem_get_device (MM_MODEM (self));
+
g_message ("(%s) type %s claimed by %s",
name,
mm_port_type_to_name (ptype),
- mm_modem_get_device (MM_MODEM (self)));
+ device);
+ g_free (device);
}
key = get_hash_key (subsys, name);
g_hash_table_insert (priv->ports, key, port);