Просмотр исходного кода

Fix out of range access when requesting last page with `list`

Prevent command `list` from failing with out of range access error if number
of entries is lower than maximum entry index for that page a.k.a.
if `len(result) < page*max`
Dekedro 5 лет назад
Родитель
Сommit
daee58bece
1 измененных файлов с 5 добавлено и 1 удалено
  1. 5 1
      commands.go

+ 5 - 1
commands.go

@@ -609,7 +609,11 @@ func (handler *CommandHandler) CommandList(ce *CommandEvent) {
 		}
 		return
 	}
-	result = result[(page-1)*max : page*max]
+	lastIndex := page*max
+	if lastIndex > len(result) {
+		lastIndex = len(result)
+	}
+	result = result[(page-1)*max : lastIndex]
 	ce.Reply("### %s (page %d of %d)\n\n%s", typeName, page, pages, strings.Join(result, "\n"))
 }