From: Serge Hallyn <serge.hal...@ubuntu.com> Everywhere else return an error code instead.
Signed-off-by: Serge Hallyn <serge.hal...@ubuntu.com> --- src/lxc/lxc_user_nic.c | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/src/lxc/lxc_user_nic.c b/src/lxc/lxc_user_nic.c index 8c73b55..0b82a50 100644 --- a/src/lxc/lxc_user_nic.c +++ b/src/lxc/lxc_user_nic.c @@ -115,7 +115,7 @@ int open_and_lock(char *path) lk.l_len = 0; if (fcntl(fd, F_SETLKW, &lk) < 0) { perror("fcntl lock"); - exit(1); + return -1; } return fd; @@ -220,17 +220,17 @@ next: bool nic_exists(char *nic) { - char path[200]; + char path[MAXPATHLEN]; int ret; struct stat sb; #if ISTEST - ret = snprintf(path, 200, "/tmp/lxcnettest/%s", nic); + ret = snprintf(path, MAXPATHLEN, "/tmp/lxcnettest/%s", nic); #else - ret = snprintf(path, 200, "/sys/class/net/%s", nic); + ret = snprintf(path, MAXPATHLEN, "/sys/class/net/%s", nic); #endif - if (ret < 0 || ret >= 200) - exit(1); + if (ret < 0 || ret >= MAXPATHLEN) // should never happen! + return true; ret = stat(path, &sb); if (ret != 0) return false; @@ -436,14 +436,14 @@ static int instanciate_veth(char *n1, char **n2) err = snprintf(*n2, IFNAMSIZ, "%sp", n1); if (err < 0 || err >= IFNAMSIZ) { fprintf(stderr, "nic name too long\n"); - exit(1); + return -1; } err = lxc_veth_create(n1, *n2); if (err) { fprintf(stderr, "failed to create %s-%s : %s\n", n1, *n2, strerror(-err)); - exit(1); + return -1; } /* changing the high byte of the mac address to 0xfe, the bridge interface @@ -551,7 +551,6 @@ bool create_nic(char *nic, char *br, int pid, char **cnic) close(fd); return true; #else - // not yet implemented char *veth1buf, *veth2buf; veth1buf = alloca(IFNAMSIZ); veth2buf = alloca(IFNAMSIZ); @@ -560,7 +559,7 @@ bool create_nic(char *nic, char *br, int pid, char **cnic) ret = snprintf(veth1buf, IFNAMSIZ, "%s", nic); if (ret < 0 || ret >= IFNAMSIZ) { fprintf(stderr, "host nic name too long\n"); - exit(1); + return false; } /* create the nics */ @@ -586,7 +585,7 @@ bool create_nic(char *nic, char *br, int pid, char **cnic) out_del: lxc_netdev_delete_by_name(veth1buf); - exit(1); + return false; #endif } -- 1.8.3.2 ------------------------------------------------------------------------------ Shape the Mobile Experience: Free Subscription Software experts and developers: Be at the forefront of tech innovation. Intel(R) Software Adrenaline delivers strategic insight and game-changing conversations that shape the rapidly evolving mobile landscape. Sign up now. http://pubads.g.doubleclick.net/gampad/clk?id=63431311&iu=/4140/ostg.clktrk _______________________________________________ Lxc-devel mailing list Lxc-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lxc-devel