mirror of
https://github.com/docker/docs.git
synced 2026-03-27 22:38:54 +07:00
Merge pull request #15846 from ZJU-SEL/11646-fix-path-validations
fix 11646 to check volume path in server side
This commit is contained in:
@@ -52,6 +52,7 @@ func TestParseBindMount(t *testing.T) {
|
||||
{"name:/tmp", "external", "/tmp", "", "name", "external", "", true, false},
|
||||
{"name:/tmp:ro", "local", "/tmp", "", "name", "local", "", false, false},
|
||||
{"local/name:/tmp:rw", "", "/tmp", "", "local/name", "local", "", true, false},
|
||||
{"/tmp:tmp", "", "", "", "", "", "", true, true},
|
||||
}
|
||||
|
||||
for _, c := range cases {
|
||||
|
||||
@@ -2,7 +2,7 @@ package daemon
|
||||
|
||||
import "testing"
|
||||
|
||||
func TestParseVolumeFrom(t *testing.T) {
|
||||
func TestParseVolumesFrom(t *testing.T) {
|
||||
cases := []struct {
|
||||
spec string
|
||||
expID string
|
||||
|
||||
@@ -81,6 +81,11 @@ func parseBindMount(spec string, mountLabel string, config *runconfig.Config) (*
|
||||
return nil, fmt.Errorf("Invalid volume specification: %s", spec)
|
||||
}
|
||||
|
||||
//validate the volumes destination path
|
||||
if !filepath.IsAbs(bind.Destination) {
|
||||
return nil, fmt.Errorf("Invalid volume destination path: %s mount path must be absolute.", bind.Destination)
|
||||
}
|
||||
|
||||
name, source, err := parseVolumeSource(arr[0])
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
||||
Reference in New Issue
Block a user