Skip to content

Commit c0e0604

Browse files
committed
internal/lsp: handle empty buffers in template parsing
Fixes golang/vscode-go#1540 Change-Id: I64514915d555bf0c0ff791b213bb834e9e99a0af Reviewed-on: https://go-review.googlesource.com/c/tools/+/324758 Trust: Rebecca Stambler <[email protected]> Trust: Peter Weinberger <[email protected]> Run-TryBot: Rebecca Stambler <[email protected]> gopls-CI: kokoro <[email protected]> TryBot-Result: Go Bot <[email protected]> Reviewed-by: Peter Weinberger <[email protected]> (cherry picked from commit 4abb1e2) Reviewed-on: https://go-review.googlesource.com/c/tools/+/324761 Reviewed-by: Robert Findley <[email protected]>
1 parent 97b52a8 commit c0e0604

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

internal/lsp/template/parse.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ import (
2828
"golang.org/x/tools/internal/lsp/protocol"
2929
"golang.org/x/tools/internal/lsp/source"
3030
"golang.org/x/tools/internal/span"
31+
errors "golang.org/x/xerrors"
3132
)
3233

3334
var (
@@ -86,6 +87,10 @@ func parseBuffer(buf []byte) *Parsed {
8687
buf: buf,
8788
check: -1,
8889
}
90+
if len(buf) == 0 {
91+
ans.ParseErr = errors.New("empty buffer")
92+
return ans
93+
}
8994
// how to compute allAscii...
9095
for _, b := range buf {
9196
if b >= utf8.RuneSelf {

0 commit comments

Comments
 (0)