Commit 4e1d81de authored by Andrey Vagin's avatar Andrey Vagin Committed by Pavel Emelyanov

cr-dump: allocate dfds near the place where it's used

Signed-off-by: 's avatarAndrey Vagin <avagin@openvz.org>
Signed-off-by: 's avatarPavel Emelyanov <xemul@parallels.com>
parent 5e33a31c
......@@ -1381,7 +1381,7 @@ static int dump_one_task(struct pstree_item *item)
int ret = -1;
struct parasite_dump_misc misc;
struct cr_fdset *cr_fdset = NULL;
struct parasite_drain_fd *dfds;
struct parasite_drain_fd *dfds = NULL;
struct proc_posix_timers_stat proc_args;
struct proc_status_creds cr;
......@@ -1398,10 +1398,6 @@ static int dump_one_task(struct pstree_item *item)
*/
return 0;
dfds = xmalloc(sizeof(*dfds));
if (!dfds)
goto err_free;
pr_info("Obtaining task stat ... ");
ret = parse_pid_stat(pid, &pps_buf);
if (ret < 0)
......@@ -1423,6 +1419,10 @@ static int dump_one_task(struct pstree_item *item)
goto err;
}
dfds = xmalloc(sizeof(*dfds));
if (!dfds)
goto err;
ret = collect_fds(pid, dfds);
if (ret) {
pr_err("Collect fds (pid: %d) failed with %d\n", pid, ret);
......@@ -1578,7 +1578,6 @@ static int dump_one_task(struct pstree_item *item)
close_cr_fdset(&cr_fdset);
err:
close_pid_proc();
err_free:
free_mappings(&vmas);
xfree(dfds);
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