aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@lanedo.com>2012-02-18 10:47:44 +0100
committerAleksander Morgado <aleksander@lanedo.com>2012-02-18 11:15:31 +0100
commitb42ce2d8e62dd12488c209fb2500a82009accdee (patch)
treed26658c2694861dea809c7def0bdb149a6efe04f
parent2e99aa25577157275312739bea5dd75c3818cf92 (diff)
charsets: plug memleak
The string passed to utils_bin2hexstr() needs to be freed afterwards.
-rw-r--r--src/mm-charsets.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/mm-charsets.c b/src/mm-charsets.c
index 913df0d6..68bf2d1d 100644
--- a/src/mm-charsets.c
+++ b/src/mm-charsets.c
@@ -186,6 +186,7 @@ mm_modem_charset_utf8_to_hex (const char *src, MMModemCharset charset)
char *converted;
const char *iconv_to;
GError *error = NULL;
+ gchar *hex;
g_return_val_if_fail (src != NULL, NULL);
g_return_val_if_fail (charset != MM_MODEM_CHARSET_UNKNOWN, NULL);
@@ -202,13 +203,13 @@ mm_modem_charset_utf8_to_hex (const char *src, MMModemCharset charset)
if (!converted || error) {
g_clear_error (&error);
g_free (converted);
- converted = NULL;
- } else {
- /* Get hex representation of the string */
- converted = utils_bin2hexstr ((guint8 *)converted, converted_len);
+ return NULL;
}
- return converted;
+ /* Get hex representation of the string */
+ hex = utils_bin2hexstr ((guint8 *)converted, converted_len);
+ g_free (converted);
+ return hex;
}
/* GSM 03.38 encoding conversion stuff */