# HG changeset patch # User Bram Moolenaar # Date 1660161603 -7200 # Node ID b944b7fb563bcdc64d731ddeec954e5d6ff1c0b0 # Parent 0089ec4231afda9ec387e72875a76d778b73f30b patch 9.0.0189: invalid memory access for text prop without highlight Commit: https://github.com/vim/vim/commit/87f3a2ca3d0ffbfa7389bbb89add4d8d3fca6fbb Author: Bram Moolenaar Date: Wed Aug 10 20:50:23 2022 +0100 patch 9.0.0189: invalid memory access for text prop without highlight Problem: Invalid memory access for text prop without highlight. Solution: Check for a valid highlight ID. diff --git a/src/drawline.c b/src/drawline.c --- a/src/drawline.c +++ b/src/drawline.c @@ -1710,7 +1710,8 @@ win_line( || text_props[tpi].tp_id < 0) && text_props[tpi].tp_id != -MAXCOL) { - used_attr = syn_id2attr(pt->pt_hl_id); + if (pt->pt_hl_id > 0) + used_attr = syn_id2attr(pt->pt_hl_id); text_prop_type = pt; text_prop_attr = hl_combine_attr(text_prop_attr, used_attr); diff --git a/src/highlight.c b/src/highlight.c --- a/src/highlight.c +++ b/src/highlight.c @@ -3504,6 +3504,7 @@ syn_unadd_group(void) /* * Translate a group ID to highlight attributes. + * "hl_id" must be valid: > 0, caller must check. */ int syn_id2attr(int hl_id) diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -736,6 +736,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 189, +/**/ 188, /**/ 187,