From 775f0058acb166ef10e1e34f492bef482f950aa8 Mon Sep 17 00:00:00 2001 From: Robert Griesemer Date: Wed, 22 Feb 2012 11:25:21 -0800 Subject: [PATCH] godoc: proper index range checking when extracting example code Fixes #3092. R=golang-dev, rsc CC=golang-dev https://golang.org/cl/5683075 --- src/cmd/godoc/godoc.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/cmd/godoc/godoc.go b/src/cmd/godoc/godoc.go index 6dfaf149f9..7249658956 100644 --- a/src/cmd/godoc/godoc.go +++ b/src/cmd/godoc/godoc.go @@ -524,11 +524,11 @@ func example_htmlFunc(funcName string, examples []*doc.Example, fset *token.File out := eg.Output // additional formatting if this is a function body - if len(code) > 0 && code[0] == '{' { + if n := len(code); n >= 2 && code[0] == '{' && code[n-1] == '}' { + // remove surrounding braces + code = code[1 : n-1] // unindent code = strings.Replace(code, "\n ", "\n", -1) - // remove surrounding braces - code = code[2 : len(code)-2] // remove output comment if loc := exampleOutputRx.FindStringIndex(code); loc != nil { code = strings.TrimSpace(code[:loc[0]]) -- 2.50.0