From baefde14550231f6468ac2ed2ed495bc381c0c92 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Thu, 7 Jul 2022 19:59:49 +0100 Subject: patch 9.0.0046: reading past end of completion with duplicate match Problem: Reading past end of completion with duplicate match. Solution: Check string length --- src/insexpand.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/insexpand.c') diff --git a/src/insexpand.c b/src/insexpand.c index 0ecb6560c5..9c598a89f7 100644 --- a/src/insexpand.c +++ b/src/insexpand.c @@ -786,7 +786,8 @@ ins_compl_add( { if (!match_at_original_text(match) && STRNCMP(match->cp_str, str, len) == 0 - && match->cp_str[len] == NUL) + && ((int)STRLEN(match->cp_str) <= len + || match->cp_str[len] == NUL)) return NOTDONE; match = match->cp_next; } while (match != NULL && !is_first_match(match)); -- cgit v1.2.3