From d1b03f470e8285613ccdf84f00e47143e7361c3b Mon Sep 17 00:00:00 2001 From: umohnani8 Date: Sun, 29 Apr 2018 20:50:04 -0400 Subject: Add more validation to --volume flag for run and create Return error if the host and container paths is a relative path. Only absolute paths allowed. Signed-off-by: umohnani8 Closes: #695 Approved by: rhatdan --- cmd/podman/create_cli.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'cmd') diff --git a/cmd/podman/create_cli.go b/cmd/podman/create_cli.go index 24856feb8..11a5d3533 100644 --- a/cmd/podman/create_cli.go +++ b/cmd/podman/create_cli.go @@ -3,6 +3,7 @@ package main import ( "fmt" "os" + "path/filepath" "strings" "github.com/docker/docker/pkg/sysinfo" @@ -97,6 +98,9 @@ func parseVolumes(volumes []string) error { } func validateVolumeHostDir(hostDir string) error { + if !filepath.IsAbs(hostDir) { + return errors.Errorf("invalid host path, must be an absolute path %q", hostDir) + } if _, err := os.Stat(hostDir); err != nil { return errors.Wrapf(err, "error checking path %q", hostDir) } @@ -104,8 +108,8 @@ func validateVolumeHostDir(hostDir string) error { } func validateVolumeCtrDir(ctrDir string) error { - if ctrDir[0] != '/' { - return errors.Errorf("invalid container directory path %q", ctrDir) + if !filepath.IsAbs(ctrDir) { + return errors.Errorf("invalid container path, must be an absolute path %q", ctrDir) } return nil } -- cgit v1.2.3-54-g00ecf