Unverified Commit 056fec39 by Christian Brauner Committed by GitHub

Merge pull request #2149 from tych0/fix-userns-error-handling

fix userns helper error handling
parents 2df70fba ee1b16bc
...@@ -4003,14 +4003,14 @@ int userns_exec_1(struct lxc_conf *conf, int (*fn)(void *), void *data, ...@@ -4003,14 +4003,14 @@ int userns_exec_1(struct lxc_conf *conf, int (*fn)(void *), void *data,
} }
on_error: on_error:
/* Wait for child to finish. */
if (pid > 0)
status = wait_for_pid(pid);
if (p[0] != -1) if (p[0] != -1)
close(p[0]); close(p[0]);
close(p[1]); close(p[1]);
/* Wait for child to finish. */
if (pid > 0)
status = wait_for_pid(pid);
if (status < 0) if (status < 0)
ret = -1; ret = -1;
...@@ -4178,6 +4178,10 @@ int userns_exec_full(struct lxc_conf *conf, int (*fn)(void *), void *data, ...@@ -4178,6 +4178,10 @@ int userns_exec_full(struct lxc_conf *conf, int (*fn)(void *), void *data,
} }
on_error: on_error:
if (p[0] != -1)
close(p[0]);
close(p[1]);
/* Wait for child to finish. */ /* Wait for child to finish. */
if (pid > 0) if (pid > 0)
ret = wait_for_pid(pid); ret = wait_for_pid(pid);
...@@ -4189,10 +4193,6 @@ on_error: ...@@ -4189,10 +4193,6 @@ on_error:
if (host_gid_map && (host_gid_map != container_root_gid)) if (host_gid_map && (host_gid_map != container_root_gid))
free(host_gid_map); free(host_gid_map);
if (p[0] != -1)
close(p[0]);
close(p[1]);
return ret; return ret;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment