[systemd-commits] src/libsystemd-network

Tom Gundersen tomegun at kemper.freedesktop.org
Tue Dec 9 02:13:18 PST 2014


 src/libsystemd-network/network-internal.c |    8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

New commits:
commit fbf7dcb5886f4077ee0dea618447ab488ff148fc
Author: Dan Winship <danw at redhat.com>
Date:   Tue Nov 18 08:59:42 2014 -0500

    libsystemd-network: fix writing of routes in dhcp lease file
    
    inet_ntoa() uses a static buffer, so you can't call it twice in the
    same fprintf() call.

diff --git a/src/libsystemd-network/network-internal.c b/src/libsystemd-network/network-internal.c
index 90f830a..6852a71 100644
--- a/src/libsystemd-network/network-internal.c
+++ b/src/libsystemd-network/network-internal.c
@@ -392,10 +392,12 @@ void serialize_dhcp_routes(FILE *f, const char *key, struct sd_dhcp_route *route
 
         fprintf(f, "%s=", key);
 
-        for (i = 0; i < size; i++)
-                fprintf(f, "%s/%" PRIu8 ",%s%s", inet_ntoa(routes[i].dst_addr),
-                        routes[i].dst_prefixlen, inet_ntoa(routes[i].gw_addr),
+        for (i = 0; i < size; i++) {
+                fprintf(f, "%s/%" PRIu8, inet_ntoa(routes[i].dst_addr),
+                        routes[i].dst_prefixlen);
+                fprintf(f, ",%s%s", inet_ntoa(routes[i].gw_addr),
                         (i < (size - 1)) ? " ": "");
+        }
 
         fputs("\n", f);
 }



More information about the systemd-commits mailing list