From c973369e31f1c495918bad2f311bbcb49f389dc1 Mon Sep 17 00:00:00 2001 From: Christian Persch Date: Wed, 8 Oct 2008 20:54:35 +0000 Subject: [PATCH] =?utf8?q?Bug=20555314=20=E2=80=93=20mem=20leak=20in=20gma?= =?utf8?q?rkup?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit svn path=/trunk/; revision=7579 --- ChangeLog | 6 ++++++ glib/gmarkup.c | 7 +++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 9bf3daf..f4fc6ab 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2008-10-08 Christian Persch + + Bug 555314 – mem leak in gmarkup + + * glib/gmarkup.c: (g_markup_parse_context_parse): Plug a mem leak. + 2008-10-08 Tor Lillqvist Bug 554790 - g_convert() misbehaves with winiconv versions diff --git a/glib/gmarkup.c b/glib/gmarkup.c index 3e073f8..43f5b26 100644 --- a/glib/gmarkup.c +++ b/glib/gmarkup.c @@ -1096,6 +1096,8 @@ g_markup_parse_context_parse (GMarkupParseContext *context, { gint newlines = 0; const gchar *p, *q; + gchar *current_text_dup; + q = p = context->current_text; while (p != first_invalid) { @@ -1111,12 +1113,13 @@ g_markup_parse_context_parse (GMarkupParseContext *context, context->line_number += newlines; context->char_number += g_utf8_strlen (q, first_invalid - q); + current_text_dup = g_strndup (context->current_text, context->current_text_len); set_error (context, error, G_MARKUP_ERROR_BAD_UTF8, _("Invalid UTF-8 encoded text - not valid '%s'"), - g_strndup (context->current_text, - context->current_text_len)); + current_text_dup); + g_free (current_text_dup); goto finished; } -- 2.7.4