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

fix userns helper error handling
This commit is contained in:
Christian Brauner 2018-02-09 14:49:11 +01:00 committed by GitHub
commit 056fec39f7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -4003,14 +4003,14 @@ int userns_exec_1(struct lxc_conf *conf, int (*fn)(void *), void *data,
}
on_error:
/* Wait for child to finish. */
if (pid > 0)
status = wait_for_pid(pid);
if (p[0] != -1)
close(p[0]);
close(p[1]);
/* Wait for child to finish. */
if (pid > 0)
status = wait_for_pid(pid);
if (status < 0)
ret = -1;
@ -4178,6 +4178,10 @@ int userns_exec_full(struct lxc_conf *conf, int (*fn)(void *), void *data,
}
on_error:
if (p[0] != -1)
close(p[0]);
close(p[1]);
/* Wait for child to finish. */
if (pid > 0)
ret = wait_for_pid(pid);
@ -4189,10 +4193,6 @@ on_error:
if (host_gid_map && (host_gid_map != container_root_gid))
free(host_gid_map);
if (p[0] != -1)
close(p[0]);
close(p[1]);
return ret;
}