network: introduce and use is_empty_string()

since some members of struct lxc_netdev are arrays, not pointers. Signed-off-by: 's avatarChristian Brauner <christian.brauner@ubuntu.com>
parent 74d40612
...@@ -504,7 +504,7 @@ static int instantiate_macvlan(struct lxc_handler *handler, struct lxc_netdev *n ...@@ -504,7 +504,7 @@ static int instantiate_macvlan(struct lxc_handler *handler, struct lxc_netdev *n
} }
strlcpy(netdev->created_name, peer, IFNAMSIZ); strlcpy(netdev->created_name, peer, IFNAMSIZ);
if (netdev->name[0] == '\0') if (is_empty_string(netdev->name))
(void)strlcpy(netdev->name, peer, IFNAMSIZ); (void)strlcpy(netdev->name, peer, IFNAMSIZ);
netdev->ifindex = if_nametoindex(peer); netdev->ifindex = if_nametoindex(peer);
...@@ -668,7 +668,7 @@ static int instantiate_ipvlan(struct lxc_handler *handler, struct lxc_netdev *ne ...@@ -668,7 +668,7 @@ static int instantiate_ipvlan(struct lxc_handler *handler, struct lxc_netdev *ne
} }
strlcpy(netdev->created_name, peer, IFNAMSIZ); strlcpy(netdev->created_name, peer, IFNAMSIZ);
if (netdev->name[0] == '\0') if (is_empty_string(netdev->name))
(void)strlcpy(netdev->name, peer, IFNAMSIZ); (void)strlcpy(netdev->name, peer, IFNAMSIZ);
netdev->ifindex = if_nametoindex(peer); netdev->ifindex = if_nametoindex(peer);
...@@ -743,7 +743,7 @@ static int instantiate_vlan(struct lxc_handler *handler, struct lxc_netdev *netd ...@@ -743,7 +743,7 @@ static int instantiate_vlan(struct lxc_handler *handler, struct lxc_netdev *netd
} }
strlcpy(netdev->created_name, peer, IFNAMSIZ); strlcpy(netdev->created_name, peer, IFNAMSIZ);
if (netdev->name[0] == '\0') if (is_empty_string(netdev->name))
(void)strlcpy(netdev->name, peer, IFNAMSIZ); (void)strlcpy(netdev->name, peer, IFNAMSIZ);
netdev->ifindex = if_nametoindex(peer); netdev->ifindex = if_nametoindex(peer);
...@@ -818,7 +818,7 @@ static int instantiate_phys(struct lxc_handler *handler, struct lxc_netdev *netd ...@@ -818,7 +818,7 @@ static int instantiate_phys(struct lxc_handler *handler, struct lxc_netdev *netd
} }
strlcpy(netdev->created_name, netdev->link, IFNAMSIZ); strlcpy(netdev->created_name, netdev->link, IFNAMSIZ);
if (netdev->name[0] == '\0') if (is_empty_string(netdev->name))
(void)strlcpy(netdev->name, netdev->link, IFNAMSIZ); (void)strlcpy(netdev->name, netdev->link, IFNAMSIZ);
/* /*
...@@ -924,7 +924,7 @@ static int instantiate_ns_veth(struct lxc_netdev *netdev) ...@@ -924,7 +924,7 @@ static int instantiate_ns_veth(struct lxc_netdev *netdev)
errno, "Failed to retrieve ifindex for network device with name %s", errno, "Failed to retrieve ifindex for network device with name %s",
netdev->created_name); netdev->created_name);
if (netdev->name[0] == '\0') if (is_empty_string(netdev->name))
(void)strlcpy(netdev->name, "eth%d", IFNAMSIZ); (void)strlcpy(netdev->name, "eth%d", IFNAMSIZ);
if (strcmp(netdev->created_name, netdev->name) != 0) { if (strcmp(netdev->created_name, netdev->name) != 0) {
...@@ -1179,10 +1179,8 @@ static int lxc_netdev_move_by_index_fd(int ifindex, int fd, const char *ifname) ...@@ -1179,10 +1179,8 @@ static int lxc_netdev_move_by_index_fd(int ifindex, int fd, const char *ifname)
if (nla_put_u32(nlmsg, IFLA_NET_NS_FD, fd)) if (nla_put_u32(nlmsg, IFLA_NET_NS_FD, fd))
goto out; goto out;
if (ifname != NULL) { if (!is_empty_string(ifname) && nla_put_string(nlmsg, IFLA_IFNAME, ifname))
if (nla_put_string(nlmsg, IFLA_IFNAME, ifname)) goto out;
goto out;
}
err = netlink_transaction(&nlh, nlmsg, nlmsg); err = netlink_transaction(&nlh, nlmsg, nlmsg);
out: out:
...@@ -1219,10 +1217,8 @@ int lxc_netdev_move_by_index(int ifindex, pid_t pid, const char *ifname) ...@@ -1219,10 +1217,8 @@ int lxc_netdev_move_by_index(int ifindex, pid_t pid, const char *ifname)
if (nla_put_u32(nlmsg, IFLA_NET_NS_PID, pid)) if (nla_put_u32(nlmsg, IFLA_NET_NS_PID, pid))
goto out; goto out;
if (ifname != NULL) { if (!is_empty_string(ifname) && nla_put_string(nlmsg, IFLA_IFNAME, ifname))
if (nla_put_string(nlmsg, IFLA_IFNAME, ifname)) goto out;
goto out;
}
err = netlink_transaction(&nlh, nlmsg, nlmsg); err = netlink_transaction(&nlh, nlmsg, nlmsg);
out: out:
...@@ -2812,8 +2808,8 @@ static int lxc_create_network_unpriv_exec(const char *lxcpath, const char *lxcna ...@@ -2812,8 +2808,8 @@ static int lxc_create_network_unpriv_exec(const char *lxcpath, const char *lxcna
INFO("Execing lxc-user-nic create %s %s %s veth %s %s", lxcpath, INFO("Execing lxc-user-nic create %s %s %s veth %s %s", lxcpath,
lxcname, pidstr, netdev_link, lxcname, pidstr, netdev_link,
netdev->name[0] != '\0' ? netdev->name : "(null)"); !is_empty_string(netdev->name) ? netdev->name : "(null)");
if (netdev->name[0] != '\0') if (!is_empty_string(netdev->name))
execlp(LXC_USERNIC_PATH, LXC_USERNIC_PATH, "create", execlp(LXC_USERNIC_PATH, LXC_USERNIC_PATH, "create",
lxcpath, lxcname, pidstr, "veth", netdev_link, lxcpath, lxcname, pidstr, "veth", netdev_link,
netdev->name, (char *)NULL); netdev->name, (char *)NULL);
......
...@@ -98,4 +98,9 @@ extern char *lxc_trim_whitespace_in_place(char *buffer); ...@@ -98,4 +98,9 @@ extern char *lxc_trim_whitespace_in_place(char *buffer);
extern int lxc_is_line_empty(const char *line); extern int lxc_is_line_empty(const char *line);
extern void remove_trailing_slashes(char *p); extern void remove_trailing_slashes(char *p);
static inline bool is_empty_string(const char *s)
{
return !s || strcmp(s, "") == 0;
}
#endif /* __LXC_STRING_UTILS_H */ #endif /* __LXC_STRING_UTILS_H */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment