Skip to content

Commit

Permalink
confile_utils: cleanup lxc_inherit_namespace()
Browse files Browse the repository at this point in the history
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
  • Loading branch information
Christian Brauner committed Dec 10, 2020
1 parent fd47e5f commit a011ec9
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 12 deletions.
16 changes: 8 additions & 8 deletions src/lxc/confile_utils.c
Expand Up @@ -893,8 +893,9 @@ static int lxc_container_name_to_pid(const char *lxcname_or_pid,
int lxc_inherit_namespace(const char *nsfd_path, const char *lxcpath,
const char *namespace)
{
__do_free char *dup = NULL;
int fd, pid;
char *dup, *lastslash;
char *lastslash;

if (nsfd_path[0] == '/') {
return open(nsfd_path, O_RDONLY | O_CLOEXEC);
Expand All @@ -904,21 +905,20 @@ int lxc_inherit_namespace(const char *nsfd_path, const char *lxcpath,
if (lastslash) {
dup = strdup(nsfd_path);
if (!dup)
return -1;
return ret_errno(ENOMEM);

dup[lastslash - nsfd_path] = '\0';
pid = lxc_container_name_to_pid(lastslash + 1, dup);
free(dup);
} else {
pid = lxc_container_name_to_pid(nsfd_path, lxcpath);
lxcpath = lastslash + 1;
nsfd_path = lastslash + 1;
}

pid = lxc_container_name_to_pid(nsfd_path, lxcpath);
if (pid < 0)
return -1;
return pid;

fd = lxc_preserve_ns(pid, namespace);
if (fd < 0)
return -1;
return -errno;

return fd;
}
Expand Down
6 changes: 2 additions & 4 deletions src/lxc/utils.c
Expand Up @@ -1372,10 +1372,8 @@ int lxc_preserve_ns(const int pid, const char *ns)
ret = snprintf(path, __NS_PATH_LEN, "/proc/%d/ns%s%s", pid,
!ns || strcmp(ns, "") == 0 ? "" : "/",
!ns || strcmp(ns, "") == 0 ? "" : ns);
if (ret < 0 || (size_t)ret >= __NS_PATH_LEN) {
errno = EFBIG;
return -1;
}
if (ret < 0 || (size_t)ret >= __NS_PATH_LEN)
return ret_errno(EIO);

return open(path, O_RDONLY | O_CLOEXEC);
}
Expand Down

0 comments on commit a011ec9

Please sign in to comment.