diff --git a/src/container.c b/src/container.c index 2849188..5a62fd4 100644 --- a/src/container.c +++ b/src/container.c @@ -391,12 +391,7 @@ static int container_setup_workdir(struct hyper_container *container) { if (container->initialize) { // create workdir - hyper_mkdir(container->exec.workdir); - } - - if (container->exec.workdir && chdir(container->exec.workdir) < 0) { - perror("change work directory failed"); - return -1; + return hyper_mkdir(container->exec.workdir); } return 0; @@ -605,6 +600,11 @@ static int hyper_container_init(void *data) goto fail; } + if (container->exec.workdir && chdir(container->exec.workdir) < 0) { + perror("change work directory failed"); + return -1; + } + if (hyper_setup_exec_user(&container->exec) < 0) { fprintf(stderr, "setup exec user failed\n"); goto fail;