patch 8.0.1412: using free memory using setloclist()
Problem: Using free memory using setloclist(). (Dominique Pelle)
Solution: Mark location list context as still in use when needed. (Yegappan
Lakshmanan, closes #2462)
diff --git a/src/quickfix.c b/src/quickfix.c
index d09a334..6e80ddf 100644
--- a/src/quickfix.c
+++ b/src/quickfix.c
@@ -5486,6 +5486,16 @@
if (abort)
return abort;
}
+ if (IS_LL_WINDOW(win) && (win->w_llist_ref->qf_refcount == 1))
+ {
+ /* In a location list window and none of the other windows is
+ * referring to this location list. Mark the location list
+ * context as still in use.
+ */
+ abort = mark_quickfix_ctx(win->w_llist_ref, copyID);
+ if (abort)
+ return abort;
+ }
}
return abort;