summaryrefslogtreecommitdiff
path: root/common/gvfsdnssdresolver.c
diff options
context:
space:
mode:
authorTobias Mueller <muelli@cryptobitch.de>2019-11-27 21:06:42 +0100
committerTobias Mueller <muelli@cryptobitch.de>2019-11-27 21:20:57 +0100
commita36f8846731f07ec7ff38cfa3ff1a233ea929481 (patch)
tree162a16ccf137f7ade6d0e34fbec3ffaf503d64e6 /common/gvfsdnssdresolver.c
parentb53a0d9a8dd224ecc0d1185826a57d104ce0ee46 (diff)
downloadgvfs-a36f8846731f07ec7ff38cfa3ff1a233ea929481.tar.gz
dnssd: guard avahi_client_free to prevent freeing NULL
This should not happen, but somehow the global_client ends up being NULL. In daemon/gvfsbackenddnssd.c the call to avahi_client_free in the finalize function is similarly guarded.
Diffstat (limited to 'common/gvfsdnssdresolver.c')
-rw-r--r--common/gvfsdnssdresolver.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/common/gvfsdnssdresolver.c b/common/gvfsdnssdresolver.c
index 7db7ef5f..7aa2cfcb 100644
--- a/common/gvfsdnssdresolver.c
+++ b/common/gvfsdnssdresolver.c
@@ -176,7 +176,10 @@ free_global_avahi_client (void)
g_list_foreach (resolvers, (GFunc) remove_client_from_resolver, NULL);
/* Destroy client */
- avahi_client_free (global_client);
+ if (global_client)
+ {
+ avahi_client_free (global_client);
+ }
global_client = NULL;
avahi_initialized = FALSE;
}