From dc520be195e8cd866da90e0edbf560c38ee7094e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
Date: Thu, 5 Jul 2018 12:50:00 +0200
Subject: [PATCH] line_numbers: fix off-by-one in offset indexing
len(offset) is one past the end of array. I assume this code was supposed
to always force a valid index, so len(offset)-1 should be used.
---
asttokens/line_numbers.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/asttokens/line_numbers.py b/asttokens/line_numbers.py
index b91b00fd6c..64ee81e1c1 100644
--- a/asttokens/line_numbers.py
+++ b/asttokens/line_numbers.py
@@ -45,7 +45,7 @@ class LineNumbers(object):
offsets.append(len(line_text))
self._utf8_offset_cache[line] = offsets
- return offsets[max(0, min(len(offsets), utf8_column))]
+ return offsets[max(0, min(len(offsets)-1, utf8_column))]
def line_to_offset(self, line, column):
"""