summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorValentin Rothberg <rothberg@redhat.com>2021-02-16 14:15:21 +0100
committerValentin Rothberg <rothberg@redhat.com>2021-02-16 14:21:45 +0100
commit2ec0e3b650bcce43a8c9d0f47703eceaf947edbe (patch)
tree9c31a93a782f423fb36bb3e1929ec53e6727c525
parent8c444e6f0b3663a657c946e1c731f390553f065d (diff)
downloadpodman-2ec0e3b650bcce43a8c9d0f47703eceaf947edbe.tar.gz
podman-2ec0e3b650bcce43a8c9d0f47703eceaf947edbe.tar.bz2
podman-2ec0e3b650bcce43a8c9d0f47703eceaf947edbe.zip
do not set empty $HOME
Make sure to not set an empty $HOME for containers and let it default to "/". https://github.com/containers/crun/pull/599 is required to fully address #9378. Partially-Fixes: #9378 Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
-rw-r--r--libpod/container_internal_linux.go2
-rw-r--r--test/system/030-run.bats6
2 files changed, 7 insertions, 1 deletions
diff --git a/libpod/container_internal_linux.go b/libpod/container_internal_linux.go
index a3476f42e..e49c89566 100644
--- a/libpod/container_internal_linux.go
+++ b/libpod/container_internal_linux.go
@@ -458,7 +458,7 @@ func (c *Container) generateSpec(ctx context.Context) (*spec.Spec, error) {
break
}
}
- if !hasHomeSet {
+ if !hasHomeSet && execUser.Home != "" {
c.config.Spec.Process.Env = append(c.config.Spec.Process.Env, fmt.Sprintf("HOME=%s", execUser.Home))
}
diff --git a/test/system/030-run.bats b/test/system/030-run.bats
index 3749dcac5..93449ece9 100644
--- a/test/system/030-run.bats
+++ b/test/system/030-run.bats
@@ -662,4 +662,10 @@ json-file | f
run_podman rm $cname
}
+@test "podman run - do not set empty HOME" {
+ # Regression test for #9378.
+ run_podman run --rm --user 100 $IMAGE printenv
+ is "$output" ".*HOME=/.*"
+}
+
# vim: filetype=sh