mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05: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:
commit
057f53f503
3 changed files with 7 additions and 1 deletions
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue