From: David Tardon Date: Thu, 25 May 2023 08:30:06 +0000 (+0200) Subject: resolved-dns-rr: use automatic cleanup X-Git-Tag: v254-rc1~380 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=19038903e12db0356bb2e1358565da4df199a94d;p=thirdparty%2Fsystemd.git resolved-dns-rr: use automatic cleanup Follow-up for #27770. --- diff --git a/src/resolve/resolved-dns-rr.c b/src/resolve/resolved-dns-rr.c index 44d1d1f1e6e..603bb1a10d5 100644 --- a/src/resolve/resolved-dns-rr.c +++ b/src/resolve/resolved-dns-rr.c @@ -1197,7 +1197,7 @@ ssize_t dns_resource_record_payload(DnsResourceRecord *rr, void **out) { int dns_resource_record_to_wire_format(DnsResourceRecord *rr, bool canonical) { - DnsPacket packet = { + _cleanup_(dns_packet_unref) DnsPacket packet = { .n_ref = 1, .protocol = DNS_PROTOCOL_DNS, .on_stack = true, @@ -1222,10 +1222,8 @@ int dns_resource_record_to_wire_format(DnsResourceRecord *rr, bool canonical) { return 0; r = dns_packet_append_rr(&packet, rr, 0, &start, &rds); - if (r < 0) { - dns_packet_unref(&packet); + if (r < 0) return r; - } assert(start == 0); assert(packet._data); @@ -1236,8 +1234,6 @@ int dns_resource_record_to_wire_format(DnsResourceRecord *rr, bool canonical) { rr->wire_format_rdata_offset = rds; rr->wire_format_canonical = canonical; - dns_packet_unref(&packet); - return 0; }