summaryrefslogtreecommitdiffstats
path: root/avahi-core
diff options
context:
space:
mode:
Diffstat (limited to 'avahi-core')
-rw-r--r--avahi-core/resolve-service.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/avahi-core/resolve-service.c b/avahi-core/resolve-service.c
index e854cca..deb4cdb 100644
--- a/avahi-core/resolve-service.c
+++ b/avahi-core/resolve-service.c
@@ -75,9 +75,11 @@ static void finish(AvahiServiceResolver *r, AvahiResolverEvent event) {
avahi_record_browser_free(r->record_browser_txt);
r->record_browser_txt = NULL;
}
-
- avahi_time_event_queue_remove(r->server->time_event_queue, r->time_event);
- r->time_event = NULL;
+
+ if (r->time_event) {
+ avahi_time_event_queue_remove(r->server->time_event_queue, r->time_event);
+ r->time_event = NULL;
+ }
if (event == AVAHI_RESOLVER_TIMEOUT)
r->callback(r, r->interface, r->protocol, event, r->service_name, r->service_type, r->domain_name, NULL, NULL, 0, NULL, r->userdata);
@@ -244,6 +246,9 @@ void avahi_service_resolver_free(AvahiServiceResolver *r) {
AVAHI_LLIST_REMOVE(AvahiServiceResolver, resolver, r->server->service_resolvers, r);
+ if (r->time_event)
+ avahi_time_event_queue_remove(r->server->time_event_queue, r->time_event);
+
if (r->record_browser_srv)
avahi_record_browser_free(r->record_browser_srv);
if (r->record_browser_txt)