[systemd-commits] src/nspawn

Zbigniew Jędrzejewski-Szmek zbyszek at kemper.freedesktop.org
Sat Aug 2 22:30:07 PDT 2014


 src/nspawn/nspawn.c |    7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

New commits:
commit 4212a3375e03fd12cb407b34cab59dbe4ed9f4eb
Author: Zbigniew Jędrzejewski-Szmek <zbyszek at in.waw.pl>
Date:   Sun Aug 3 01:28:21 2014 -0400

    nspawn: fix truncation of machine names in interface names
    
    Based on patch by Michael Marineau <michael.marineau at coreos.com>:
    
    When deriving the network interface name from machine name strncpy was
    not properly null terminating the string and the maximum string size as
    returned by strlen() is actually IFNAMSIZ-1, not IFNAMSIZ.

diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c
index ddf1c37..b118c73 100644
--- a/src/nspawn/nspawn.c
+++ b/src/nspawn/nspawn.c
@@ -1659,11 +1659,8 @@ static int setup_veth(pid_t pid, char iface_name[IFNAMSIZ], int *ifi) {
 
         /* Use two different interface name prefixes depending whether
          * we are in bridge mode or not. */
-        if (arg_network_bridge)
-                memcpy(iface_name, "vb-", 3);
-        else
-                memcpy(iface_name, "ve-", 3);
-        strncpy(iface_name+3, arg_machine, IFNAMSIZ - 3);
+        snprintf(iface_name, IFNAMSIZ, "%s-%s",
+                 arg_network_bridge ? "vb" : "ve", arg_machine);
 
         r = get_mac(&mac);
         if (r < 0) {



More information about the systemd-commits mailing list