chiark / gitweb /
networkd: fix reporting errors from hostnamed
authorMichael Marineau <michael.marineau@coreos.com>
Mon, 21 Jul 2014 23:23:42 +0000 (16:23 -0700)
committerTom Gundersen <teg@jklm.no>
Tue, 29 Jul 2014 20:24:58 +0000 (22:24 +0200)
The return value may be -EINVAL or a positive errno from the dbus
message. Check both ranges, otherwise most errors are silently ignored.

src/network/networkd-link.c

index 3b8b7ed80e612ca79e479a179060c2146393f2ff..7db71c0b70a97b0c5514529dccac86f90d4192af 100644 (file)
@@ -835,7 +835,9 @@ static int set_hostname_handler(sd_bus *bus, sd_bus_message *m, void *userdata,
 
         r = sd_bus_message_get_errno(m);
         if (r < 0)
 
         r = sd_bus_message_get_errno(m);
         if (r < 0)
-                log_warning_link(link, "Could not set hostname: %s", strerror(-r));
+                r = -r;
+        if (r > 0)
+                log_warning_link(link, "Could not set hostname: %s", strerror(r));
 
         return 1;
 }
 
         return 1;
 }