changeset 29664:6569c71c5ca5 v9.0.0172

patch 9.0.0172: trying to allocate zero bytes Commit: https://github.com/vim/vim/commit/1024690c015921b0a458172bc368133f63af1b89 Author: Bram Moolenaar <Bram@vim.org> Date: Mon Aug 8 17:08:05 2022 +0100 patch 9.0.0172: trying to allocate zero bytes Problem: Trying to allocate zero bytes. Solution: Do not allocate the proptype array when there are none. (closes #10867)
author Bram Moolenaar <Bram@vim.org>
date Mon, 08 Aug 2022 18:15:03 +0200
parents 5009fd4e3de6
children 1184c5b5ab6d
files src/testdir/test_textprop.vim src/textprop.c src/version.c
diffstat 3 files changed, 15 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/testdir/test_textprop.vim
+++ b/src/testdir/test_textprop.vim
@@ -71,6 +71,18 @@ func Test_proptype_buf()
   call assert_fails("call prop_type_add('one', {'bufnr': 98764})", "E158:")
 endfunc
 
+def Test_proptype_add_remove()
+  # add and remove a prop type so that the array is empty
+  prop_type_add('local', {bufnr: bufnr('%')})
+  prop_type_delete('local', {bufnr: bufnr('%')})
+  prop_type_add('global', {highlight: 'ErrorMsg'})
+  prop_add(1, 1, {length: 1, type: 'global'})
+  redraw
+
+  prop_clear(1)
+  prop_type_delete('global')
+enddef
+
 def Test_proptype_buf_list()
   new
   var bufnr = bufnr('')
--- a/src/textprop.c
+++ b/src/textprop.c
@@ -736,7 +736,7 @@ find_type_by_id(hashtab_T *ht, proptype_
     int low = 0;
     int high;
 
-    if (ht == NULL)
+    if (ht == NULL || ht->ht_used == 0)
 	return NULL;
 
     // Make the loopup faster by creating an array with pointers to
--- 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 */
 /**/
+    172,
+/**/
     171,
 /**/
     170,