From a0255ba502d7a60a297aa67604eae75a9e1fbed3 Mon Sep 17 00:00:00 2001 From: Erik Hollensbe Date: Sun, 31 Aug 2014 05:39:36 -0700 Subject: [PATCH] Fix panic when `ENV ARG=ARG` is used. Docker-DCO-1.1-Signed-off-by: Erik Hollensbe (github: erikh) --- builder/parser/line_parsers.go | 6 ++++++ builder/parser/testfiles-negative/env_equals_env/Dockerfile | 3 +++ 2 files changed, 9 insertions(+) create mode 100644 builder/parser/testfiles-negative/env_equals_env/Dockerfile diff --git a/builder/parser/line_parsers.go b/builder/parser/line_parsers.go index 93fa23ee85..de3bdb5f18 100644 --- a/builder/parser/line_parsers.go +++ b/builder/parser/line_parsers.go @@ -9,6 +9,7 @@ package parser import ( "encoding/json" "errors" + "fmt" "strconv" "strings" ) @@ -43,6 +44,11 @@ func parseEnv(rest string) (*Node, map[string]bool, error) { node := &Node{} rootnode := node strs := TOKEN_WHITESPACE.Split(rest, 2) + + if len(strs) < 2 { + return nil, nil, fmt.Errorf("ENV must have two arguments") + } + node.Value = strs[0] node.Next = &Node{} node.Next.Value = strs[1] diff --git a/builder/parser/testfiles-negative/env_equals_env/Dockerfile b/builder/parser/testfiles-negative/env_equals_env/Dockerfile new file mode 100644 index 0000000000..08675148ae --- /dev/null +++ b/builder/parser/testfiles-negative/env_equals_env/Dockerfile @@ -0,0 +1,3 @@ +FROM busybox + +ENV PATH=PATH