From 74e8371bde8143535da46a833835313d75ae8f4e Mon Sep 17 00:00:00 2001 From: ailin-nemui Date: Tue, 4 Sep 2018 14:12:03 +0200 Subject: [PATCH] fix accessing unallocated text when checking entry position fixes #928 --- src/fe-text/gui-entry.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/fe-text/gui-entry.c b/src/fe-text/gui-entry.c index b3c73c15..ee3de77d 100644 --- a/src/fe-text/gui-entry.c +++ b/src/fe-text/gui-entry.c @@ -212,7 +212,7 @@ static int pos2scrpos(GUI_ENTRY_REC *entry, int pos, int cursor) xpos += scrlen_str(entry->extents[0], entry->utf8); } - for (i = 0; i < pos; i++) { + for (i = 0; i < entry->text_len && i < pos; i++) { unichar c = entry->text[i]; const char *extent = entry->uses_extents ? entry->extents[i+1] : NULL; @@ -226,9 +226,8 @@ static int pos2scrpos(GUI_ENTRY_REC *entry, int pos, int cursor) if (extent != NULL) { xpos += scrlen_str(extent, entry->utf8); } - } - return xpos; + return xpos + pos - i; } static int scrpos2pos(GUI_ENTRY_REC *entry, int pos)