summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--avahi-core/resolve-address.c2
-rw-r--r--avahi-core/resolve-host-name.c2
-rw-r--r--avahi-core/resolve-service.c7
3 files changed, 6 insertions, 5 deletions
diff --git a/avahi-core/resolve-address.c b/avahi-core/resolve-address.c
index fbf50ff..18c862c 100644
--- a/avahi-core/resolve-address.c
+++ b/avahi-core/resolve-address.c
@@ -121,7 +121,7 @@ static void record_browser_callback(AvahiSRecordBrowser*rr, AvahiIfIndex interfa
assert(event == AVAHI_BROWSER_REMOVE);
- if (avahi_record_equal_no_ttl(record, r->ptr_record)) {
+ if (r->ptr_record && avahi_record_equal_no_ttl(record, r->ptr_record)) {
avahi_record_unref(r->ptr_record);
r->ptr_record = NULL;
diff --git a/avahi-core/resolve-host-name.c b/avahi-core/resolve-host-name.c
index ae7ef78..d9c3341 100644
--- a/avahi-core/resolve-host-name.c
+++ b/avahi-core/resolve-host-name.c
@@ -141,7 +141,7 @@ static void record_browser_callback(AvahiSRecordBrowser*rr, AvahiIfIndex interfa
assert(event == AVAHI_BROWSER_REMOVE);
- if (avahi_record_equal_no_ttl(record, r->address_record)) {
+ if (r->address_record && avahi_record_equal_no_ttl(record, r->address_record)) {
avahi_record_unref(r->address_record);
r->address_record = NULL;
diff --git a/avahi-core/resolve-service.c b/avahi-core/resolve-service.c
index 333f257..173c34b 100644
--- a/avahi-core/resolve-service.c
+++ b/avahi-core/resolve-service.c
@@ -200,10 +200,11 @@ static void record_browser_callback(AvahiSRecordBrowser*rr, AvahiIfIndex interfa
} else {
assert(event == AVAHI_BROWSER_REMOVE);
+
switch (record->key->type) {
case AVAHI_DNS_TYPE_SRV:
- if (avahi_record_equal_no_ttl(record, r->srv_record)) {
+ if (r->srv_record && avahi_record_equal_no_ttl(record, r->srv_record)) {
avahi_record_unref(r->srv_record);
r->srv_record = NULL;
@@ -216,7 +217,7 @@ static void record_browser_callback(AvahiSRecordBrowser*rr, AvahiIfIndex interfa
case AVAHI_DNS_TYPE_TXT:
- if (avahi_record_equal_no_ttl(record, r->txt_record)) {
+ if (r->txt_record && avahi_record_equal_no_ttl(record, r->txt_record)) {
avahi_record_unref(r->txt_record);
r->txt_record = NULL;
@@ -229,7 +230,7 @@ static void record_browser_callback(AvahiSRecordBrowser*rr, AvahiIfIndex interfa
case AVAHI_DNS_TYPE_A:
case AVAHI_DNS_TYPE_AAAA:
- if (avahi_record_equal_no_ttl(record, r->address_record)) {
+ if (r->address_record && avahi_record_equal_no_ttl(record, r->address_record)) {
avahi_record_unref(r->address_record);
r->address_record = NULL;