Skip to content

Commit

Permalink
network: introduce and use is_empty_string()
Browse files Browse the repository at this point in the history
since some members of struct lxc_netdev are arrays, not pointers.

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
  • Loading branch information
Christian Brauner committed Mar 19, 2020
1 parent 74d4061 commit 3473ca7
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 15 deletions.
26 changes: 11 additions & 15 deletions src/lxc/network.c
Expand Up @@ -504,7 +504,7 @@ static int instantiate_macvlan(struct lxc_handler *handler, struct lxc_netdev *n
}

strlcpy(netdev->created_name, peer, IFNAMSIZ);
if (netdev->name[0] == '\0')
if (is_empty_string(netdev->name))
(void)strlcpy(netdev->name, peer, IFNAMSIZ);

netdev->ifindex = if_nametoindex(peer);
Expand Down Expand Up @@ -668,7 +668,7 @@ static int instantiate_ipvlan(struct lxc_handler *handler, struct lxc_netdev *ne
}

strlcpy(netdev->created_name, peer, IFNAMSIZ);
if (netdev->name[0] == '\0')
if (is_empty_string(netdev->name))
(void)strlcpy(netdev->name, peer, IFNAMSIZ);

netdev->ifindex = if_nametoindex(peer);
Expand Down Expand Up @@ -743,7 +743,7 @@ static int instantiate_vlan(struct lxc_handler *handler, struct lxc_netdev *netd
}

strlcpy(netdev->created_name, peer, IFNAMSIZ);
if (netdev->name[0] == '\0')
if (is_empty_string(netdev->name))
(void)strlcpy(netdev->name, peer, IFNAMSIZ);

netdev->ifindex = if_nametoindex(peer);
Expand Down Expand Up @@ -818,7 +818,7 @@ static int instantiate_phys(struct lxc_handler *handler, struct lxc_netdev *netd
}

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);

/*
Expand Down Expand Up @@ -924,7 +924,7 @@ static int instantiate_ns_veth(struct lxc_netdev *netdev)
errno, "Failed to retrieve ifindex for network device with name %s",
netdev->created_name);

if (netdev->name[0] == '\0')
if (is_empty_string(netdev->name))
(void)strlcpy(netdev->name, "eth%d", IFNAMSIZ);

if (strcmp(netdev->created_name, netdev->name) != 0) {
Expand Down Expand Up @@ -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))
goto out;

if (ifname != NULL) {
if (nla_put_string(nlmsg, IFLA_IFNAME, ifname))
goto out;
}
if (!is_empty_string(ifname) && nla_put_string(nlmsg, IFLA_IFNAME, ifname))
goto out;

err = netlink_transaction(&nlh, nlmsg, nlmsg);
out:
Expand Down Expand Up @@ -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))
goto out;

if (ifname != NULL) {
if (nla_put_string(nlmsg, IFLA_IFNAME, ifname))
goto out;
}
if (!is_empty_string(ifname) && nla_put_string(nlmsg, IFLA_IFNAME, ifname))
goto out;

err = netlink_transaction(&nlh, nlmsg, nlmsg);
out:
Expand Down Expand Up @@ -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,
lxcname, pidstr, netdev_link,
netdev->name[0] != '\0' ? netdev->name : "(null)");
if (netdev->name[0] != '\0')
!is_empty_string(netdev->name) ? netdev->name : "(null)");
if (!is_empty_string(netdev->name))
execlp(LXC_USERNIC_PATH, LXC_USERNIC_PATH, "create",
lxcpath, lxcname, pidstr, "veth", netdev_link,
netdev->name, (char *)NULL);
Expand Down
5 changes: 5 additions & 0 deletions src/lxc/string_utils.h
Expand Up @@ -98,4 +98,9 @@ extern char *lxc_trim_whitespace_in_place(char *buffer);
extern int lxc_is_line_empty(const char *line);
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 */

0 comments on commit 3473ca7

Please sign in to comment.