patch 9.0.0074: Coverity warns for double free
Problem: Coverity warns for double free.
Solution: Reset cts_text_prop_count when freeing cts_text_props.
diff --git a/src/charset.c b/src/charset.c
index 8c6ac1c..f41248b 100644
--- a/src/charset.c
+++ b/src/charset.c
@@ -964,7 +964,10 @@
{
#ifdef FEAT_PROP_POPUP
if (cts->cts_text_prop_count > 0)
+ {
vim_free(cts->cts_text_props);
+ cts->cts_text_prop_count = 0; // avoid double free
+ }
#endif
}
diff --git a/src/structs.h b/src/structs.h
index 1d2aa0a..d527672 100644
--- a/src/structs.h
+++ b/src/structs.h
@@ -4570,9 +4570,10 @@
char_u *cts_line; // start of the line
char_u *cts_ptr; // current position in line
#ifdef FEAT_PROP_POPUP
- int cts_text_prop_count; // number of text props
- textprop_T *cts_text_props; // text props (allocated) or NULL
- char cts_has_prop_with_text; // TRUE if if a property inserts text
+ int cts_text_prop_count; // number of text props; when zero
+ // cts_text_props is not used
+ textprop_T *cts_text_props; // text props (allocated)
+ char cts_has_prop_with_text; // TRUE if if a property inserts text
int cts_cur_text_width; // width of current inserted text
#endif
int cts_vcol; // virtual column at current position
diff --git a/src/version.c b/src/version.c
index 6d7aede..f7cbaf8 100644
--- a/src/version.c
+++ b/src/version.c
@@ -736,6 +736,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 74,
+/**/
73,
/**/
72,