aboutsummaryrefslogtreecommitdiff
path: root/src/mm-modem.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.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.c')
-rw-r--r--src/mm-modem.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/mm-modem.c b/src/mm-modem.c
index 57e715d3..35e3b07c 100644
--- a/src/mm-modem.c
+++ b/src/mm-modem.c
@@ -150,12 +150,15 @@ disable_disconnect_done (MMModem *self,
}
if (error) {
+ char *device = mm_modem_get_device (self);
+
/* Don't really care what the error was; log it and proceed to disable */
g_warning ("%s: (%s): error disconnecting the modem while disabling: (%d) %s",
__func__,
- mm_modem_get_device (self),
+ device,
error ? error->code : -1,
error && error->message ? error->message : "(unknown)");
+ g_free (device);
}
finish_disable (self, cb_data->callback, cb_data->user_data);
g_free (cb_data);