aboutsummaryrefslogtreecommitdiffstats
path: root/mail/em-utils.c
diff options
context:
space:
mode:
authorMilan Crha <mcrha@redhat.com>2012-09-12 19:53:56 +0800
committerMilan Crha <mcrha@redhat.com>2012-09-12 19:53:56 +0800
commitb0eca85eb4d12fef1f5857c280ba13fb925c0bfc (patch)
tree928f3a09b69a77adb212b1d3a78191052e5d662a /mail/em-utils.c
parentea33b6c60d56bbe23f8e5def7e237fcadfdbc46b (diff)
downloadgsoc2013-evolution-b0eca85eb4d12fef1f5857c280ba13fb925c0bfc.tar
gsoc2013-evolution-b0eca85eb4d12fef1f5857c280ba13fb925c0bfc.tar.gz
gsoc2013-evolution-b0eca85eb4d12fef1f5857c280ba13fb925c0bfc.tar.bz2
gsoc2013-evolution-b0eca85eb4d12fef1f5857c280ba13fb925c0bfc.tar.lz
gsoc2013-evolution-b0eca85eb4d12fef1f5857c280ba13fb925c0bfc.tar.xz
gsoc2013-evolution-b0eca85eb4d12fef1f5857c280ba13fb925c0bfc.tar.zst
gsoc2013-evolution-b0eca85eb4d12fef1f5857c280ba13fb925c0bfc.zip
Fix a memory leak when replying to a message
Diffstat (limited to 'mail/em-utils.c')
-rw-r--r--mail/em-utils.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/mail/em-utils.c b/mail/em-utils.c
index a5e8c0534e..f7f12e5755 100644
--- a/mail/em-utils.c
+++ b/mail/em-utils.c
@@ -1290,7 +1290,7 @@ em_utils_message_to_html (CamelSession *session,
guint32 *validity_found)
{
EMailFormatter *formatter;
- EMailParser *parser;
+ EMailParser *parser = NULL;
CamelStream *mem;
GByteArray *buf;
EShell *shell;
@@ -1328,6 +1328,8 @@ em_utils_message_to_html (CamelSession *session,
parser = e_mail_parser_new (session);
parts_list = e_mail_parser_parse_sync (parser, NULL, NULL, message, NULL);
+ } else {
+ g_object_ref (parts_list);
}
/* Return all found validities and possibly show hidden prefer-plain part */
@@ -1362,6 +1364,10 @@ em_utils_message_to_html (CamelSession *session,
if (hidden_text_html_part)
hidden_text_html_part->is_hidden = TRUE;
+ g_object_unref (parts_list);
+ if (parser)
+ g_object_unref (parser);
+
if (append && *append)
camel_stream_write_string (mem, append, NULL, NULL);