resolved: avoid allocation
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Thu, 24 Oct 2019 13:14:09 +0000 (15:14 +0200)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Fri, 25 Oct 2019 14:37:22 +0000 (16:37 +0200)
While at it, constify the argument.

src/resolve/resolved-bus.c
src/resolve/resolved-link-bus.c
src/resolve/resolved-link-bus.h
src/resolve/resolved-resolv-conf.c

index db0f838..920cb92 100644 (file)
@@ -12,6 +12,7 @@
 #include "resolved-dnssd-bus.h"
 #include "resolved-dnssd.h"
 #include "resolved-link-bus.h"
+#include "stdio-util.h"
 #include "user-util.h"
 #include "utf8.h"
 
@@ -68,7 +69,7 @@ static int reply_query_state(DnsQuery *q) {
 
                         rc = dns_rcode_to_string(q->answer_rcode);
                         if (!rc) {
-                                sprintf(p, "%i", q->answer_rcode);
+                                xsprintf(p, "%i", q->answer_rcode);
                                 rc = p;
                         }
 
index b6c1476..fe997cd 100644 (file)
@@ -12,6 +12,7 @@
 #include "resolved-bus.h"
 #include "resolved-link-bus.h"
 #include "resolved-resolv-conf.h"
+#include "stdio-util.h"
 #include "strv.h"
 #include "user-util.h"
 
@@ -735,15 +736,13 @@ int link_object_find(sd_bus *bus, const char *path, const char *interface, void
         return 1;
 }
 
-char *link_bus_path(Link *link) {
-        _cleanup_free_ char *ifindex = NULL;
-        char *p;
+char *link_bus_path(const Link *link) {
+        char *p, ifindex[DECIMAL_STR_MAX(link->ifindex)];
         int r;
 
         assert(link);
 
-        if (asprintf(&ifindex, "%i", link->ifindex) < 0)
-                return NULL;
+        xsprintf(ifindex, "%i", link->ifindex);
 
         r = sd_bus_path_encode("/org/freedesktop/resolve1/link", ifindex, &p);
         if (r < 0)
index 6717251..74068a4 100644 (file)
@@ -8,7 +8,7 @@
 extern const sd_bus_vtable link_vtable[];
 
 int link_object_find(sd_bus *bus, const char *path, const char *interface, void *userdata, void **found, sd_bus_error *error);
-char *link_bus_path(Link *link);
+char *link_bus_path(const Link *link);
 int link_node_enumerator(sd_bus *bus, const char *path, void *userdata, char ***nodes, sd_bus_error *error);
 
 int bus_link_method_set_dns_servers(sd_bus_message *message, void *userdata, sd_bus_error *error);
index dfc9a94..7b487d5 100644 (file)
@@ -334,7 +334,6 @@ static int write_stub_resolv_conf_contents(FILE *f, OrderedSet *dns, OrderedSet
 }
 
 int manager_write_resolv_conf(Manager *m) {
-
         _cleanup_ordered_set_free_ OrderedSet *dns = NULL, *domains = NULL;
         _cleanup_free_ char *temp_path_uplink = NULL, *temp_path_stub = NULL;
         _cleanup_fclose_ FILE *f_uplink = NULL, *f_stub = NULL;