]> git.meshlink.io Git - catta/blobdiff - avahi-core/resolve-service.c
Don't consider incoming goodbye packets as conflicting unless they match one of our...
[catta] / avahi-core / resolve-service.c
index 173c34b192f39390ffe4cced34addab740aea77f..6dbca40ee2726df25f5a78bc982973b383b6563a 100644 (file)
@@ -157,8 +157,16 @@ static void record_browser_callback(AvahiSRecordBrowser*rr, AvahiIfIndex interfa
                 if (!r->srv_record) {
                     r->srv_record = avahi_record_ref(record);
                     changed = 1;
-                    
-                    assert(!r->record_browser_a && !r->record_browser_aaaa);
+
+                    if (r->record_browser_a) {
+                        avahi_s_record_browser_free(r->record_browser_a);
+                        r->record_browser_a = NULL;
+                    }
+
+                    if (r->record_browser_aaaa) {
+                        avahi_s_record_browser_free(r->record_browser_aaaa);
+                        r->record_browser_aaaa = NULL;
+                    }
                     
                     if (r->address_protocol == AVAHI_PROTO_INET || r->address_protocol == AVAHI_PROTO_UNSPEC) {
                         AvahiKey *k = avahi_key_new(r->srv_record->data.srv.name, AVAHI_DNS_CLASS_IN, AVAHI_DNS_TYPE_A);