From: dlezcano Date: Mon, 16 Feb 2009 10:14:34 +0000 (+0000) Subject: Make use of realpath X-Git-Tag: lxc_0_6_0~5 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4c8ab83be6f4c39e8b8070afa5582e114c2b5f1a;p=thirdparty%2Flxc.git Make use of realpath From: Daniel Lezcano The realpath function is more convenient to build the absolute path of the rootfs. Signed-off-by: Daniel Lezcano --- diff --git a/src/lxc/lxc_conf.c b/src/lxc/lxc_conf.c index f19f69585..872d05f14 100644 --- a/src/lxc/lxc_conf.c +++ b/src/lxc/lxc_conf.c @@ -455,17 +455,15 @@ static int configure_rootfs(const char *name, const char *rootfs) char path[MAXPATHLEN]; char absrootfs[MAXPATHLEN]; char fstab[MAXPATHLEN]; - char *pwd; - int ret; FILE *f; + int ret; - snprintf(path, MAXPATHLEN, LXCPATH "/%s/rootfs", name); - - pwd = get_current_dir_name(); - - snprintf(absrootfs, MAXPATHLEN, "%s/%s", pwd, rootfs); + if (!realpath(rootfs, absrootfs)) { + lxc_log_syserror("failed to get real path for '%s'", rootfs); + return -1; + } - free(pwd); + snprintf(path, MAXPATHLEN, LXCPATH "/%s/rootfs", name); if (access(absrootfs, F_OK)) { lxc_log_syserror("'%s' is not accessible", absrootfs); @@ -486,6 +484,7 @@ static int configure_rootfs(const char *name, const char *rootfs) } ret = fprintf(f, "%s %s none bind 0 0\n", absrootfs, path); + fclose(f); if (ret < 0) {