diff options
author | Christian Kellner <gicmo@src.gnome.org> | 2008-08-02 14:37:44 +0000 |
---|---|---|
committer | Christian Kellner <gicmo@src.gnome.org> | 2008-08-02 14:37:44 +0000 |
commit | b2caf88da4ba72422e55d41497ec0f16adac709f (patch) | |
tree | deb238a0490019341ed249082331839e9f03b94f | |
parent | a3bd7416dbd48b9bc45f58c1b7f93e0d9ab591ae (diff) | |
download | gvfs-b2caf88da4ba72422e55d41497ec0f16adac709f.tar.gz |
545968 – leaks xml documents in error cases
Plug the leak!
svn path=/trunk/; revision=1851
-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; } |