aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBryan C. Mills <bcmills@google.com>2019-08-05 14:39:48 -0400
committerBryan C. Mills <bcmills@google.com>2019-09-11 16:25:52 +0000
commit95e1ea4598175a3461f40d00ce47a51e5fa6e5ea (patch)
tree9402bcc90245b053cbae88c5dfda97745627cd2e /src
parent8fb9fa36f5b7cf161d0694fdb418af7c83b946d5 (diff)
downloadgo-95e1ea4598175a3461f40d00ce47a51e5fa6e5ea.tar.xz
cmd/go/internal/get: propagate parse errors in parseMetaGoImports
The signature of parseMetaGoImports implies that it can return an error, but it has not done so since CL 119675. Restore the missing error check, and remove the named return-values to avoid reintroducing this bug in the future. Updates #30748 Updates #21291 Change-Id: Iab19ade5b1c23c282f3c385a55ed277465526515 Reviewed-on: https://go-review.googlesource.com/c/go/+/189778 Run-TryBot: Bryan C. Mills <bcmills@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Jay Conrod <jayconrod@google.com>
Diffstat (limited to 'src')
-rw-r--r--src/cmd/go/internal/get/discovery.go10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/cmd/go/internal/get/discovery.go b/src/cmd/go/internal/get/discovery.go
index aa2a24d12f..afa6ef455f 100644
--- a/src/cmd/go/internal/get/discovery.go
+++ b/src/cmd/go/internal/get/discovery.go
@@ -28,16 +28,16 @@ func charsetReader(charset string, input io.Reader) (io.Reader, error) {
// parseMetaGoImports returns meta imports from the HTML in r.
// Parsing ends at the end of the <head> section or the beginning of the <body>.
-func parseMetaGoImports(r io.Reader, mod ModuleMode) (imports []metaImport, err error) {
+func parseMetaGoImports(r io.Reader, mod ModuleMode) ([]metaImport, error) {
d := xml.NewDecoder(r)
d.CharsetReader = charsetReader
d.Strict = false
- var t xml.Token
+ var imports []metaImport
for {
- t, err = d.RawToken()
+ t, err := d.RawToken()
if err != nil {
- if err == io.EOF || len(imports) > 0 {
- err = nil
+ if err != io.EOF && len(imports) == 0 {
+ return nil, err
}
break
}