summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2019-08-27 19:02:53 +0200
committerLukas Nykryn <lnykryn@redhat.com>2019-11-05 10:26:22 +0100
commit1ae0cf8c3ae565a19283d628f833668babf81b82 (patch)
treea426c66470aab3c6bc2e401c3b868368a603ad7d
parent0bd92f0fbaf7105b6d1dd6a2d96dad7e5522e027 (diff)
downloadsystemd-1ae0cf8c3ae565a19283d628f833668babf81b82.tar.gz
resolved: do not run loop twice
This doesn't matter much, but let's just do the loop once and allocate the populate the result set on the fly. If we find an error, it'll get cleaned up automatically. Related: #1746857
-rw-r--r--src/resolve/resolved-link-bus.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/resolve/resolved-link-bus.c b/src/resolve/resolved-link-bus.c
index b1581740d8..46d2b11636 100644
--- a/src/resolve/resolved-link-bus.c
+++ b/src/resolve/resolved-link-bus.c
@@ -492,6 +492,10 @@ int bus_link_method_set_dnssec_negative_trust_anchors(sd_bus_message *message, v
if (r < 0)
return r;
+ ns = set_new(&dns_name_hash_ops);
+ if (!ns)
+ return -ENOMEM;
+
r = sd_bus_message_read_strv(message, &ntas);
if (r < 0)
return r;
@@ -501,14 +505,9 @@ int bus_link_method_set_dnssec_negative_trust_anchors(sd_bus_message *message, v
if (r < 0)
return r;
if (r == 0)
- return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Invalid negative trust anchor domain: %s", *i);
- }
+ return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS,
+ "Invalid negative trust anchor domain: %s", *i);
- ns = set_new(&dns_name_hash_ops);
- if (!ns)
- return -ENOMEM;
-
- STRV_FOREACH(i, ntas) {
r = set_put_strdup(ns, *i);
if (r < 0)
return r;