Fix possible infinite loop in delocate.go.

I had a brain-fart and had in mind that strings.Index(x[i:], _) would
return a value relative to the beginning of |x|, which is impossible.

Change-Id: I905ea1fa3469ea13f2e3b782c4baf2431b615a2f
Reviewed-on: https://boringssl-review.googlesource.com/15146
Commit-Queue: David Benjamin <davidben@google.com>
Reviewed-by: David Benjamin <davidben@google.com>
CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
diff --git a/crypto/fipsmodule/delocate.go b/crypto/fipsmodule/delocate.go
index d8b5fb3..12100dc 100644
--- a/crypto/fipsmodule/delocate.go
+++ b/crypto/fipsmodule/delocate.go
@@ -382,7 +382,10 @@
 
 	for _, line := range contents {
 		for symbol, mappedSymbol := range localSymbols {
-			for i := strings.Index(line, symbol); i >= 0; i = strings.Index(line[i:], symbol) {
+			i := 0
+			for match := strings.Index(line, symbol); match >= 0; match = strings.Index(line[i:], symbol) {
+				i += match
+
 				before := ' '
 				if i > 0 {
 					before, _ = utf8.DecodeLastRuneInString(line[:i])