diff --git a/src/knot/updates/zone-update.c b/src/knot/updates/zone-update.c index 59052545a569a71f76f508304f227c19d13b58b4..42ee8eee0d31094ee6c835c9d70b1b0f6fb1a3f8 100644 --- a/src/knot/updates/zone-update.c +++ b/src/knot/updates/zone-update.c @@ -1048,7 +1048,7 @@ static bool zone_diff_rdataset(const zone_contents_t *c, uint16_t rrtype) { const knot_rdataset_t *a = node_rdataset(binode_counterpart(c->apex), rrtype); const knot_rdataset_t *b = node_rdataset(c->apex, rrtype); - if (a == NULL && b == NULL) { + if ((a == NULL && b == NULL) || (a != NULL && b != NULL && a->rdata == b->rdata)) { return false; } else { return !knot_rdataset_eq(a, b); diff --git a/src/libknot/rdataset.c b/src/libknot/rdataset.c index fe3e0e54462d0dfeb0add9b9b98f3b89387c4224..0b9b4fd8c611358a74ad1f62e3733cf7965966b8 100644 --- a/src/libknot/rdataset.c +++ b/src/libknot/rdataset.c @@ -249,7 +249,7 @@ bool knot_rdataset_member(const knot_rdataset_t *rrs, const knot_rdata_t *rr) _public_ bool knot_rdataset_subset(const knot_rdataset_t *subset, const knot_rdataset_t *of) { - if (subset == NULL) { + if (subset == NULL || (of != NULL && subset->rdata == of->rdata)) { return true; }