From 4c23170684f95f4209c5245c1a4663ebc894f676 Mon Sep 17 00:00:00 2001 From: Pavel Vasin Date: Mon, 11 Jun 2012 20:06:38 +0400 Subject: ephy-session: fix memory leak in write_tab() https://bugzilla.gnome.org/show_bug.cgi?id=677720 --- src/ephy-session.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/ephy-session.c b/src/ephy-session.c index d06a766cf..7a4ebbce0 100644 --- a/src/ephy-session.c +++ b/src/ephy-session.c @@ -650,6 +650,7 @@ write_tab (xmlTextWriterPtr writer, EphyEmbed *embed) { const char *address, *title; + char *new_address = NULL; int ret; ret = xmlTextWriterStartElement (writer, (xmlChar *) "embed"); @@ -660,10 +661,11 @@ write_tab (xmlTextWriterPtr writer, * loading. */ if (g_str_has_prefix (address, EPHY_ABOUT_SCHEME)) { - address = g_strconcat ("about", address + EPHY_ABOUT_SCHEME_LEN, NULL); + new_address = g_strconcat ("about", address + EPHY_ABOUT_SCHEME_LEN, NULL); } ret = xmlTextWriterWriteAttribute (writer, (xmlChar *) "url", - (const xmlChar *) address); + (const xmlChar *) (new_address ? new_address : address)); + g_free (new_address); if (ret < 0) return ret; title = ephy_web_view_get_title (ephy_embed_get_web_view (embed)); -- cgit v1.2.3