From cc362b432e2d2e3ec68628fb33b117fe3e89f9c2 Mon Sep 17 00:00:00 2001 From: Pavel Tikhomirov Date: Fri, 20 Mar 2020 17:34:57 +0300 Subject: [PATCH] namespaces: fix error handling in dump_user_ns Fix n_xid_map leaks on error path and remove useless exit_code. Fixes: 6e1726f8 ("userns: set uid and gid before entering into userns") Signed-off-by: Pavel Tikhomirov --- criu/namespaces.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/criu/namespaces.c b/criu/namespaces.c index 21266df7c..2db805b2f 100644 --- a/criu/namespaces.c +++ b/criu/namespaces.c @@ -938,9 +938,9 @@ static int check_user_ns(int pid) int dump_user_ns(pid_t pid, int ns_id) { - int ret, exit_code = -1; UsernsEntry *e = &userns_entry; struct cr_img *img; + int ret; ret = parse_id_map(pid, "uid_map", &e->uid_map); if (ret < 0) @@ -953,7 +953,7 @@ int dump_user_ns(pid_t pid, int ns_id) e->n_gid_map = ret; if (check_user_ns(pid)) - return -1; + goto err; img = open_image(CR_FD_USERNS, O_DUMP, ns_id); if (!img) @@ -973,7 +973,7 @@ err: xfree(e->gid_map[0]); xfree(e->gid_map); } - return exit_code; + return -1; } void free_userns_maps(void)