Skip to content

Commit cf1e023

Browse files
committed
patch 8.2.3662: illegal memory access if malloc() fails
Problem: Illegal memory access if malloc() fails. Solution: Check 'foldmethod' is not empty. (closes #9207)
1 parent 8bc07e8 commit cf1e023

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

src/fold.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -307,7 +307,7 @@ foldedCount(win_T *win, linenr_T lnum, foldinfo_T *infop)
307307
int
308308
foldmethodIsManual(win_T *wp)
309309
{
310-
return (wp->w_p_fdm[3] == 'u');
310+
return (wp->w_p_fdm[0] != NUL && wp->w_p_fdm[3] == 'u');
311311
}
312312

313313
// foldmethodIsIndent() {{{2
@@ -327,7 +327,7 @@ foldmethodIsIndent(win_T *wp)
327327
int
328328
foldmethodIsExpr(win_T *wp)
329329
{
330-
return (wp->w_p_fdm[1] == 'x');
330+
return (wp->w_p_fdm[0] != NUL && wp->w_p_fdm[1] == 'x');
331331
}
332332

333333
// foldmethodIsMarker() {{{2
@@ -337,7 +337,7 @@ foldmethodIsExpr(win_T *wp)
337337
int
338338
foldmethodIsMarker(win_T *wp)
339339
{
340-
return (wp->w_p_fdm[2] == 'r');
340+
return (wp->w_p_fdm[0] != NUL && wp->w_p_fdm[2] == 'r');
341341
}
342342

343343
// foldmethodIsSyntax() {{{2

src/version.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -757,6 +757,8 @@ static char *(features[]) =
757757

758758
static int included_patches[] =
759759
{ /* Add new patch number below this line */
760+
/**/
761+
3662,
760762
/**/
761763
3661,
762764
/**/

0 commit comments

Comments
 (0)