Skip to content

Commit 1e1db9e

Browse files
committed
handle "[" as a malformed array index by returning NotFound
1 parent d15cedb commit 1e1db9e

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

parser.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -308,7 +308,11 @@ func searchKeys(data []byte, keys ...string) int {
308308
case '[':
309309
// If we want to get array element by index
310310
if keyLevel == level && keys[level][0] == '[' {
311-
aIdx, err := strconv.Atoi(keys[level][1 : len(keys[level])-1])
311+
var keyLen = len(keys[level])
312+
if keyLen < 3 || keys[level][0] != '[' || keys[level][keyLen-1] != ']' {
313+
return -1
314+
}
315+
aIdx, err := strconv.Atoi(keys[level][1 : keyLen-1])
312316
if err != nil {
313317
return -1
314318
}

0 commit comments

Comments
 (0)