diff options
author | Christian Persch <chpe@src.gnome.org> | 2008-10-08 20:54:35 +0000 |
---|---|---|
committer | Christian Persch <chpe@src.gnome.org> | 2008-10-08 20:54:35 +0000 |
commit | c973369e31f1c495918bad2f311bbcb49f389dc1 (patch) | |
tree | 3f7e60b3221bcde2d3e1cd78ab38c86e3b6b7b16 | |
parent | c7501c82237380bbe03646e6f4133b4862bec5a8 (diff) |
Bug 555314 – mem leak in gmarkup
svn path=/trunk/; revision=7579
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | glib/gmarkup.c | 7 |
2 files changed, 11 insertions, 2 deletions
@@ -1,3 +1,9 @@ +2008-10-08 Christian Persch <chpe@gnome.org> + + Bug 555314 – mem leak in gmarkup + + * glib/gmarkup.c: (g_markup_parse_context_parse): Plug a mem leak. + 2008-10-08 Tor Lillqvist <tml@novell.com> Bug 554790 - g_convert() misbehaves with winiconv versions diff --git a/glib/gmarkup.c b/glib/gmarkup.c index 3e073f8e4..43f5b262d 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; } |