From d55f2eddcb8fb86906e7aa50c829a0a6352ba9e7 Mon Sep 17 00:00:00 2001 From: Rebecca Stambler Date: Tue, 4 Aug 2020 15:26:40 -0400 Subject: [PATCH] internal/lsp/source: fix nil pointer in extract function Ran into this while debugging another issue. Change-Id: I154493418c7676a24457a4e11431ad4f0311c07a Reviewed-on: https://go-review.googlesource.com/c/tools/+/246757 Run-TryBot: Rebecca Stambler TryBot-Result: Gobot Gobot Reviewed-by: Josh Baum --- internal/lsp/source/extract.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/lsp/source/extract.go b/internal/lsp/source/extract.go index 4725572295..6cac9a3886 100644 --- a/internal/lsp/source/extract.go +++ b/internal/lsp/source/extract.go @@ -477,8 +477,8 @@ func adjustRangeForWhitespace(rng span.Range, tok *token.File, content []byte) s rng.Start = tok.Pos(offset) offset = tok.Offset(rng.End) - for offset-1 >= 0 { - if !unicode.IsSpace(rune(content[offset-1])) { + for o := offset - 1; 0 <= o && o < len(content); { + if !unicode.IsSpace(rune(content[o])) { break } // Move backwards one byte to find a non-whitespace character.