vim-patch:8.2.3662: illegal memory access if malloc() fails (#36939)

Problem:    Illegal memory access if malloc() fails.
Solution:   Check 'foldmethod' is not empty. (closes vim/vim#9207)

cf1e0239ce

Co-authored-by: Bram Moolenaar <Bram@vim.org>
This commit is contained in:
Jan Edmund Lazo
2025-12-13 20:28:13 -05:00
committed by GitHub
parent c50d544d03
commit a331d187ba

View File

@@ -322,7 +322,7 @@ foldinfo_T fold_info(win_T *win, linenr_T lnum)
/// @return true if 'foldmethod' is "manual"
bool 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
@@ -336,14 +336,14 @@ bool foldmethodIsIndent(win_T *wp)
/// @return true if 'foldmethod' is "expr"
bool 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
/// @return true if 'foldmethod' is "marker"
bool 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