|
@@ -321,7 +321,7 @@ func Parse(rwc io.Reader) (*Result, error) {
|
|
|
Warnings: warnings,
|
|
|
EscapeToken: d.escapeToken,
|
|
|
OS: d.platformToken,
|
|
|
- }, nil
|
|
|
+ }, handleScannerError(scanner.Err())
|
|
|
}
|
|
|
|
|
|
func trimComments(src []byte) []byte {
|
|
@@ -358,3 +358,12 @@ func processLine(d *Directive, token []byte, stripLeftWhitespace bool) ([]byte,
|
|
|
}
|
|
|
return trimComments(token), d.possibleParserDirective(string(token))
|
|
|
}
|
|
|
+
|
|
|
+func handleScannerError(err error) error {
|
|
|
+ switch err {
|
|
|
+ case bufio.ErrTooLong:
|
|
|
+ return errors.Errorf("dockerfile line greater than max allowed size of %d", bufio.MaxScanTokenSize-1)
|
|
|
+ default:
|
|
|
+ return err
|
|
|
+ }
|
|
|
+}
|