]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/doc: fix handling of paths like ./fmt
authorRob Pike <r@golang.org>
Wed, 20 May 2015 20:26:02 +0000 (13:26 -0700)
committerRob Pike <r@golang.org>
Wed, 20 May 2015 20:53:14 +0000 (20:53 +0000)
An error in string slice offsets caused the loop to run forever if the
first character in the argument was a period.

Fixes #10833.

Change-Id: Iefb6aac5cff8864fe93d08e2600cb07d82c6f6df
Reviewed-on: https://go-review.googlesource.com/10285
Reviewed-by: Russ Cox <rsc@golang.org>
src/cmd/doc/main.go

index b3be2a975b7e4e683aa51ad4ecb40c7d8d9882c2..18dafc298ca7721af68cc1c4c6ad2f8de6987161 100644 (file)
@@ -132,11 +132,12 @@ func parseArgs() (*build.Package, string, string) {
        // slash+1: if there's no slash, the value is -1 and start is 0; otherwise
        // start is the byte after the slash.
        for start := slash + 1; start < len(arg); start = period + 1 {
-               period = start + strings.Index(arg[start:], ".")
+               period = strings.Index(arg[start:], ".")
                symbol := ""
                if period < 0 {
                        period = len(arg)
                } else {
+                       period += start
                        symbol = arg[period+1:]
                }
                // Have we identified a package already?