user_shell = passwd->pw_shell;
if (user_shell)
- execlp(user_shell, user_shell, NULL);
+ execlp(user_shell, user_shell, (char *)NULL);
/* executed if either no passwd entry or execvp fails,
* we will fall back on /bin/sh as a default shell
*/
- execlp("/bin/sh", "/bin/sh", NULL);
+ execlp("/bin/sh", "/bin/sh", (char *)NULL);
SYSERROR("failed to exec shell");
return -1;
}
// us about whether to proceed.
if (null_stdfds() < 0)
exit(1);
- execlp("mkfs", "mkfs", "-t", fstype, path, NULL);
+ execlp("mkfs", "mkfs", "-t", fstype, path, (char *)NULL);
exit(1);
}
if ((pid = fork()) < 0)
return -1;
if (!pid) {
- execlp("lvremove", "lvremove", "-f", orig->src, NULL);
+ execlp("lvremove", "lvremove", "-f", orig->src, (char *)NULL);
exit(EXIT_FAILURE);
}
return wait_for_pid(pid);
if (sigprocmask(SIG_UNBLOCK, &mask, NULL) == -1)
WARN("Warning: unblocking signals for nbd watcher");
- execlp("qemu-nbd", "qemu-nbd", "-c", nbd, path, NULL);
+ execlp("qemu-nbd", "qemu-nbd", "-c", nbd, path, (char *)NULL);
SYSERROR("Error executing qemu-nbd");
exit(1);
}
ERROR("nbd disconnect returned an error");
return;
}
- execlp("qemu-nbd", "qemu-nbd", "-d", path, NULL);
+ execlp("qemu-nbd", "qemu-nbd", "-d", path, (char *)NULL);
SYSERROR("Error executing qemu-nbd");
exit(1);
}
if ((pid = fork()) < 0)
return -1;
if (!pid) {
- execlp("rbd", "rbd", "create" , "--pool", rbdpool, rbdname, "--size", sz, NULL);
+ execlp("rbd", "rbd", "create" , "--pool", rbdpool, rbdname, "--size", sz, (char *)NULL);
exit(1);
}
if (wait_for_pid(pid) < 0)
if ((pid = fork()) < 0)
return -1;
if (!pid) {
- execlp("rbd", "rbd", "map", "--pool", rbdpool, rbdname, NULL);
+ execlp("rbd", "rbd", "map", "--pool", rbdpool, rbdname, (char *)NULL);
exit(1);
}
if (wait_for_pid(pid) < 0)
if ((pid = fork()) < 0)
return -1;
if (!pid) {
- execlp("rbd", "rbd", "unmap" , orig->src, NULL);
+ execlp("rbd", "rbd", "unmap" , orig->src, (char *)NULL);
exit(1);
}
if (wait_for_pid(pid) < 0)
if (!pid) {
rbdfullname = alloca(strlen(orig->src) - 8);
strcpy( rbdfullname, &orig->src[9] );
- execlp("rbd", "rbd", "rm" , rbdfullname, NULL);
+ execlp("rbd", "rbd", "rm" , rbdfullname, (char *)NULL);
exit(1);
}
return wait_for_pid(pid);
ret = snprintf(dev, MAXPATHLEN, "%s/%s", zfsroot, nname);
if (ret < 0 || ret >= MAXPATHLEN)
exit(EXIT_FAILURE);
- execlp("zfs", "zfs", "create", option, dev, NULL);
+ execlp("zfs", "zfs", "create", option, dev, (char *)NULL);
exit(EXIT_FAILURE);
}
return wait_for_pid(pid);
if ((pid = fork()) < 0)
return -1;
if (!pid) {
- execlp("zfs", "zfs", "destroy", path1, NULL);
+ execlp("zfs", "zfs", "destroy", path1, (char *)NULL);
exit(EXIT_FAILURE);
}
// it probably doesn't exist so destroy probably will fail.
if ((pid = fork()) < 0)
return -1;
if (!pid) {
- execlp("zfs", "zfs", "snapshot", path1, NULL);
+ execlp("zfs", "zfs", "snapshot", path1, (char *)NULL);
exit(EXIT_FAILURE);
}
if (wait_for_pid(pid) < 0)
if ((pid = fork()) < 0)
return -1;
if (!pid) {
- execlp("zfs", "zfs", "clone", option, path1, path2, NULL);
+ execlp("zfs", "zfs", "clone", option, path1, path2, (char *)NULL);
exit(EXIT_FAILURE);
}
return wait_for_pid(pid);
return -1;
*p = '\0';
- execlp("zfs", "zfs", "destroy", output, NULL);
+ execlp("zfs", "zfs", "destroy", output, (char *)NULL);
exit(EXIT_FAILURE);
}
if (ret < 0 || ret >= MAXPATHLEN)
exit(EXIT_FAILURE);
- execlp("zfs", "zfs", "create", option, dev, NULL);
+ execlp("zfs", "zfs", "create", option, dev, (char *)NULL);
exit(EXIT_FAILURE);
}
fseek(f, 0, SEEK_SET);
physname = malloc(physlen+1);
if (!physname) {
- fclose(f);
+ fclose(f);
goto bad;
}
memset(physname, 0, physlen+1);
if (fpid == 0) {
char pidstr[30];
sprintf(pidstr, "%d", pid);
- if (execlp("iw", "iw", "phy", physname, "set", "netns", pidstr, NULL))
+ if (execlp("iw", "iw", "phy", physname, "set", "netns", pidstr, (char *)NULL))
exit(1);
exit(0); // notreached
}
nlmsg->nlmsghdr->nlmsg_type = RTM_NEWADDR;
ifa = nlmsg_reserve(nlmsg, sizeof(struct ifaddrmsg));
- if (!ifa)
+ if (!ifa)
goto out;
ifa->ifa_prefixlen = prefix;
ifa->ifa_index = ifindex;
ifa->ifa_family = family;
ifa->ifa_scope = 0;
-
+
err = -EINVAL;
if (nla_put_buffer(nlmsg, IFA_LOCAL, addr, addrlen))
goto out;
struct rtmsg *rt;
int addrlen;
int err;
-
+
addrlen = family == AF_INET ? sizeof(struct in_addr) :
sizeof(struct in6_addr);
-
+
err = netlink_open(&nlh, NETLINK_ROUTE);
if (err)
return err;
-
+
err = -ENOMEM;
nlmsg = nlmsg_alloc(NLMSG_GOOD_SIZE);
if (!nlmsg)
goto out;
-
+
answer = nlmsg_alloc_reserve(NLMSG_GOOD_SIZE);
if (!answer)
goto out;
-
+
nlmsg->nlmsghdr->nlmsg_flags =
NLM_F_ACK|NLM_F_REQUEST|NLM_F_CREATE|NLM_F_EXCL;
nlmsg->nlmsghdr->nlmsg_type = RTM_NEWROUTE;
rt->rtm_protocol = RTPROT_BOOT;
rt->rtm_type = RTN_UNICAST;
rt->rtm_dst_len = addrlen*8;
-
+
err = -EINVAL;
if (nla_put_buffer(nlmsg, RTA_DST, dest, addrlen))
goto out;
return;
if (lxc_wait(name, "STOPPED", -1, lxcpath) < 0)
return;
- execlp("ovs-vsctl", "ovs-vsctl", "del-port", bridge, nic, NULL);
+ execlp("ovs-vsctl", "ovs-vsctl", "del-port", bridge, nic, (char *)NULL);
exit(1); /* not reached */
}
exit(0);
}
- if (execlp("ovs-vsctl", "ovs-vsctl", "add-port", bridge, nic, NULL))
+ if (execlp("ovs-vsctl", "ovs-vsctl", "add-port", bridge, nic, (char *)NULL))
exit(1);
// not reached
exit(1);