summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOndrej Holy <oholy@redhat.com>2016-10-13 12:35:22 +0200
committerOndrej Holy <oholy@redhat.com>2016-11-18 16:23:27 +0100
commit9fcbd14e7aa32e40e58167e93baac1c41128e5b6 (patch)
tree0fe5b6c626d2637bb5cf6909bb4843f2a4560e57
parent7368e4831d470c24e1431558b251e53ca0926ba5 (diff)
downloadgvfs-9fcbd14e7aa32e40e58167e93baac1c41128e5b6.tar.gz
dnssd: Free browser objects properly
Browser objects are not currently freed by remove_browsers call, just the list is emptied. Free the browser objects for sure in order to avoid some use-after-free crashes. https://bugzilla.gnome.org/show_bug.cgi?id=631023
-rw-r--r--daemon/gvfsbackenddnssd.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/daemon/gvfsbackenddnssd.c b/daemon/gvfsbackenddnssd.c
index f359bac9..da549029 100644
--- a/daemon/gvfsbackenddnssd.c
+++ b/daemon/gvfsbackenddnssd.c
@@ -700,7 +700,7 @@ add_browsers (GVfsBackendDnsSd *backend)
static void
remove_browsers (GVfsBackendDnsSd *backend)
{
- g_list_free (backend->browsers);
+ g_list_free_full (backend->browsers, (GDestroyNotify)avahi_service_browser_free);
backend->browsers = NULL;
}