diff --git a/frontend/dockerfile/parser/parser.go b/frontend/dockerfile/parser/parser.go index 0453f3a9a2ae..262a76813374 100644 --- a/frontend/dockerfile/parser/parser.go +++ b/frontend/dockerfile/parser/parser.go @@ -275,6 +275,11 @@ func Parse(rwc io.Reader) (*Result, error) { if len(warnings) > 0 { warnings = append(warnings, "[WARNING]: Empty continuation lines will become errors in a future release.") } + + if root.StartLine < 0 { + return nil, errors.New("file with no instructions.") + } + return &Result{ AST: root, Warnings: warnings, diff --git a/frontend/dockerfile/parser/testfiles-negative/empty_dockerfile/Dockerfile b/frontend/dockerfile/parser/testfiles-negative/empty_dockerfile/Dockerfile new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/frontend/dockerfile/parser/testfiles-negative/only_comments/Dockerfile b/frontend/dockerfile/parser/testfiles-negative/only_comments/Dockerfile new file mode 100644 index 000000000000..5dd027a67827 --- /dev/null +++ b/frontend/dockerfile/parser/testfiles-negative/only_comments/Dockerfile @@ -0,0 +1,3 @@ +# Hello +# These are just comments +