forked from aniani/vim
patch 8.1.2200: crash when memory allocation fails
Problem: Crash when memory allocation fails.
Solution: Check for NULL curwin and curbuf. (Christian Brabandt,
closes #4839)
This commit is contained in:
@@ -2059,8 +2059,8 @@ f_getcharmod(typval_T *argvars UNUSED, typval_T *rettv)
|
|||||||
void
|
void
|
||||||
parse_queued_messages(void)
|
parse_queued_messages(void)
|
||||||
{
|
{
|
||||||
int old_curwin_id = curwin->w_id;
|
int old_curwin_id;
|
||||||
int old_curbuf_fnum = curbuf->b_fnum;
|
int old_curbuf_fnum;
|
||||||
int i;
|
int i;
|
||||||
int save_may_garbage_collect = may_garbage_collect;
|
int save_may_garbage_collect = may_garbage_collect;
|
||||||
static int entered = 0;
|
static int entered = 0;
|
||||||
@@ -2071,6 +2071,14 @@ parse_queued_messages(void)
|
|||||||
if (updating_screen)
|
if (updating_screen)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
// If memory allocation fails during startup we'll exit but curbuf or
|
||||||
|
// curwin could be NULL.
|
||||||
|
if (curbuf == NULL || curwin == NULL)
|
||||||
|
return;
|
||||||
|
|
||||||
|
old_curbuf_fnum = curbuf->b_fnum;
|
||||||
|
old_curwin_id = curwin->w_id;
|
||||||
|
|
||||||
++entered;
|
++entered;
|
||||||
|
|
||||||
// may_garbage_collect is set in main_loop() to do garbage collection when
|
// may_garbage_collect is set in main_loop() to do garbage collection when
|
||||||
|
|||||||
@@ -741,6 +741,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
2200,
|
||||||
/**/
|
/**/
|
||||||
2199,
|
2199,
|
||||||
/**/
|
/**/
|
||||||
|
|||||||
Reference in New Issue
Block a user