diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | daemon/gvfsbackenddav.c | 6 |
2 files changed, 10 insertions, 2 deletions
@@ -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; } |