resolve: fix memleak
authorYu Watanabe <watanabe.yu+github@gmail.com>
Sat, 14 May 2022 06:09:11 +0000 (15:09 +0900)
committerLuca Boccassi <luca.boccassi@gmail.com>
Sat, 14 May 2022 09:52:29 +0000 (10:52 +0100)
Fixes a bug introduced by 71aee23dba7faeef68e7232f444626267a6c90d7.

Fixes CID#1488763.

src/resolve/resolved-dns-answer.c

index 08520d94247b1825c61ed991382ce676bfb0a6a7..3d42b0d000be2971a3525ef8bd21b94cd48402a0 100644 (file)
@@ -69,7 +69,7 @@ static int dns_answer_reserve_internal(DnsAnswer *a, size_t n) {
 
 DnsAnswer *dns_answer_new(size_t n) {
         _cleanup_ordered_set_free_ OrderedSet *s = NULL;
-        DnsAnswer *a;
+        _cleanup_(dns_answer_unrefp) DnsAnswer *a = NULL;
 
         if (n > UINT16_MAX)
                 n = UINT16_MAX;
@@ -90,7 +90,7 @@ DnsAnswer *dns_answer_new(size_t n) {
         if (dns_answer_reserve_internal(a, n) < 0)
                 return NULL;
 
-        return a;
+        return TAKE_PTR(a);
 }
 
 static DnsAnswer *dns_answer_free(DnsAnswer *a) {