]> git.ipfire.org Git - thirdparty/systemd.git/blobdiff - src/resolve/resolved-dns-synthesize.c
tree-wide: use TAKE_PTR() and TAKE_FD() macros
[thirdparty/systemd.git] / src / resolve / resolved-dns-synthesize.c
index d469b91b17c0e84c1efae118f584e13775d086be..a66f488dd60bcc621ee5573207eabe861f67fa09 100644 (file)
@@ -423,11 +423,11 @@ int dns_synthesize_answer(
 
                         v = synthesize_system_hostname_ptr(m, af, &address, ifindex, &answer);
                         if (v < 0)
-                                return log_error_errno(r, "Failed to synthesize system hostname PTR RR: %m");
+                                return log_error_errno(v, "Failed to synthesize system hostname PTR RR: %m");
 
                         w = synthesize_gateway_ptr(m, af, &address, ifindex, &answer);
                         if (w < 0)
-                                return log_error_errno(r, "Failed to synthesize gateway hostname PTR RR: %m");
+                                return log_error_errno(w, "Failed to synthesize gateway hostname PTR RR: %m");
 
                         if (v == 0 && w == 0) /* This IP address is neither a local one nor a gateway */
                                 continue;
@@ -440,10 +440,8 @@ int dns_synthesize_answer(
 
         if (found) {
 
-                if (ret) {
-                        *ret = answer;
-                        answer = NULL;
-                }
+                if (ret)
+                        *ret = TAKE_PTR(answer);
 
                 return 1;
         } else if (nxdomain)