summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--daemon/gvfsbackenddav.c6
2 files changed, 10 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 5bdf18c3..5e9ab0e5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
2008-08-02 Christian Kellner <gicmo@gnome.org>
+ * daemon/gvfsbackenddav.c: (parse_xml): Free the xml doc in
+ error cases. Plug the leaks, fix bug #545968, thanks to
+ Christian Persch <chpe@gnome.org> again!
+
+2008-08-02 Christian Kellner <gicmo@gnome.org>
+
* daemon/gvfsbackenddav.c:
Use XML_PARSE_NONET with xmlReadMemory when parsing the webdav
responses to disallow net access of the parser. Bug #545966
diff --git a/daemon/gvfsbackenddav.c b/daemon/gvfsbackenddav.c
index fbb1aa61..0fcaece3 100644
--- a/daemon/gvfsbackenddav.c
+++ b/daemon/gvfsbackenddav.c
@@ -527,13 +527,15 @@ parse_xml (SoupMessage *msg,
{
g_set_error_literal (error, G_IO_ERROR, G_IO_ERROR_FAILED,
_("Empty response"));
+ xmlFreeDoc (doc);
return NULL;
}
if (strcmp ((char *) (*root)->name, name))
{
- g_set_error_literal (error, G_IO_ERROR, G_IO_ERROR_FAILED,
- _("Unexpected reply from server"));
+ g_set_error_literal (error, G_IO_ERROR, G_IO_ERROR_FAILED,
+ _("Unexpected reply from server"));
+ xmlFreeDoc (doc);
return NULL;
}