diff --git a/src/shared/dns-packet.c b/src/shared/dns-packet.c index 04178e5df2..cdd56d513f 100644 --- a/src/shared/dns-packet.c +++ b/src/shared/dns-packet.c @@ -284,11 +284,10 @@ DnsPacket *dns_packet_unref(DnsPacket *p) { assert(p->n_ref > 0); - dns_packet_unref(p->more); - - if (p->n_ref == 1) + if (p->n_ref == 1) { + dns_packet_unref(p->more); dns_packet_free(p); - else + } else p->n_ref--; return NULL;