summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--vlan.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/vlan.c b/vlan.c
index 84befc9..221c79c 100644
--- a/vlan.c
+++ b/vlan.c
@@ -63,10 +63,12 @@ static int vlan_set_device_state(struct device *dev, bool up)
static void vlan_dev_set_name(struct vlan_device *vldev, struct device *dev)
{
- char name[IFNAMSIZ];
+ char *name;
+ name = alloca(strlen(dev->ifname) + sizeof(".2147483647\0"));
vldev->dev.hidden = dev->hidden;
- snprintf(name, IFNAMSIZ, "%s.%d", dev->ifname, vldev->id);
+ sprintf(name, "%s.%d", dev->ifname, vldev->id);
+
device_set_ifname(&vldev->dev, name);
}