summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2021-11-24 15:13:26 +0000
committerBram Moolenaar <Bram@vim.org>2021-11-24 15:13:26 +0000
commitcf1e0239ceec96396fa51f494e442c799ccd45fb (patch)
tree1fc7696831f8f61c9863b43ef7573291a2bb9bdb
parent8bc07e800c2af36686aadd4178cc2671f5c454d4 (diff)
downloadvim-git-cf1e0239ceec96396fa51f494e442c799ccd45fb.tar.gz
patch 8.2.3662: illegal memory access if malloc() failsv8.2.3662
Problem: Illegal memory access if malloc() fails. Solution: Check 'foldmethod' is not empty. (closes #9207)
-rw-r--r--src/fold.c6
-rw-r--r--src/version.c2
2 files changed, 5 insertions, 3 deletions
diff --git a/src/fold.c b/src/fold.c
index d9cba6a22..d4a626753 100644
--- a/src/fold.c
+++ b/src/fold.c
@@ -307,7 +307,7 @@ foldedCount(win_T *win, linenr_T lnum, foldinfo_T *infop)
int
foldmethodIsManual(win_T *wp)
{
- return (wp->w_p_fdm[3] == 'u');
+ return (wp->w_p_fdm[0] != NUL && wp->w_p_fdm[3] == 'u');
}
// foldmethodIsIndent() {{{2
@@ -327,7 +327,7 @@ foldmethodIsIndent(win_T *wp)
int
foldmethodIsExpr(win_T *wp)
{
- return (wp->w_p_fdm[1] == 'x');
+ return (wp->w_p_fdm[0] != NUL && wp->w_p_fdm[1] == 'x');
}
// foldmethodIsMarker() {{{2
@@ -337,7 +337,7 @@ foldmethodIsExpr(win_T *wp)
int
foldmethodIsMarker(win_T *wp)
{
- return (wp->w_p_fdm[2] == 'r');
+ return (wp->w_p_fdm[0] != NUL && wp->w_p_fdm[2] == 'r');
}
// foldmethodIsSyntax() {{{2
diff --git a/src/version.c b/src/version.c
index 1a3919087..58a185604 100644
--- a/src/version.c
+++ b/src/version.c
@@ -758,6 +758,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 3662,
+/**/
3661,
/**/
3660,