|
|
9ecd5b8 |
From 80a3e077864441c3d20a327516c645f04d6b847b Mon Sep 17 00:00:00 2001
|
|
|
9ecd5b8 |
From: Dan Winship <danw@redhat.com>
|
|
|
9ecd5b8 |
Date: Tue, 18 Nov 2014 08:59:42 -0500
|
|
|
9ecd5b8 |
Subject: [PATCH] libsystemd-network: fix writing of routes in dhcp lease file
|
|
|
9ecd5b8 |
|
|
|
9ecd5b8 |
inet_ntoa() uses a static buffer, so you can't call it twice in the
|
|
|
9ecd5b8 |
same fprintf() call.
|
|
|
9ecd5b8 |
|
|
|
9ecd5b8 |
(cherry picked from commit fbf7dcb5886f4077ee0dea618447ab488ff148fc)
|
|
|
9ecd5b8 |
---
|
|
|
9ecd5b8 |
src/libsystemd-network/network-internal.c | 8 +++++---
|
|
|
9ecd5b8 |
1 file changed, 5 insertions(+), 3 deletions(-)
|
|
|
9ecd5b8 |
|
|
|
9ecd5b8 |
diff --git a/src/libsystemd-network/network-internal.c b/src/libsystemd-network/network-internal.c
|
|
|
9ecd5b8 |
index 372f3ed371..d56ee510dc 100644
|
|
|
9ecd5b8 |
--- a/src/libsystemd-network/network-internal.c
|
|
|
9ecd5b8 |
+++ b/src/libsystemd-network/network-internal.c
|
|
|
9ecd5b8 |
@@ -392,10 +392,12 @@ void serialize_dhcp_routes(FILE *f, const char *key, struct sd_dhcp_route *route
|
|
|
9ecd5b8 |
|
|
|
9ecd5b8 |
fprintf(f, "%s=", key);
|
|
|
9ecd5b8 |
|
|
|
9ecd5b8 |
- for (i = 0; i < size; i++)
|
|
|
9ecd5b8 |
- fprintf(f, "%s/%" PRIu8 ",%s%s", inet_ntoa(routes[i].dst_addr),
|
|
|
9ecd5b8 |
- routes[i].dst_prefixlen, inet_ntoa(routes[i].gw_addr),
|
|
|
9ecd5b8 |
+ for (i = 0; i < size; i++) {
|
|
|
9ecd5b8 |
+ fprintf(f, "%s/%" PRIu8, inet_ntoa(routes[i].dst_addr),
|
|
|
9ecd5b8 |
+ routes[i].dst_prefixlen);
|
|
|
9ecd5b8 |
+ fprintf(f, ",%s%s", inet_ntoa(routes[i].gw_addr),
|
|
|
9ecd5b8 |
(i < (size - 1)) ? " ": "");
|
|
|
9ecd5b8 |
+ }
|
|
|
9ecd5b8 |
|
|
|
9ecd5b8 |
fputs("\n", f);
|
|
|
9ecd5b8 |
}
|