aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@lanedo.com>2012-03-28 15:14:04 +0200
committerAleksander Morgado <aleksander@lanedo.com>2012-03-28 15:50:43 +0200
commitb8157228eb0e7196e32d1f4b7c64afd028a5542e (patch)
treedbd38257f10b3905448c23c7fc132ae462f63d6d
parent029cb2abe9ada012838e960c382d2fae232fbb5e (diff)
broadband-modem: plug memleak when uppercasing storage names
-rw-r--r--src/mm-broadband-modem.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/mm-broadband-modem.c b/src/mm-broadband-modem.c
index bc958a92..2577cbd4 100644
--- a/src/mm-broadband-modem.c
+++ b/src/mm-broadband-modem.c
@@ -3869,22 +3869,28 @@ modem_messaging_set_preferred_storages (MMIfaceModemMessaging *self,
{
gchar *cmd;
GSimpleAsyncResult *result;
+ gchar *mem1_str;
+ gchar *mem2_str;
+ gchar *mem3_str;
result = g_simple_async_result_new (G_OBJECT (self),
callback,
user_data,
modem_messaging_set_preferred_storages);
- cmd = g_strdup_printf ("+CPMS=\"%s\",\"%s\",\"%s\"",
- g_ascii_strup (mm_sms_storage_get_string (mem1), -1),
- g_ascii_strup (mm_sms_storage_get_string (mem2), -1),
- g_ascii_strup (mm_sms_storage_get_string (mem3), -1));
+ mem1_str = g_ascii_strup (mm_sms_storage_get_string (mem1), -1);
+ mem2_str = g_ascii_strup (mm_sms_storage_get_string (mem2), -1);
+ mem3_str = g_ascii_strup (mm_sms_storage_get_string (mem3), -1);
+ cmd = g_strdup_printf ("+CPMS=\"%s\",\"%s\",\"%s\"", mem1_str, mem2_str, mem3_str);
mm_base_modem_at_command (MM_BASE_MODEM (self),
cmd,
3,
FALSE,
(GAsyncReadyCallback)cpms_set_ready,
result);
+ g_free (mem1_str);
+ g_free (mem2_str);
+ g_free (mem3_str);
g_free (cmd);
}