# HG changeset patch # User Bram Moolenaar # Date 1566386103 -7200 # Node ID c9e52c1613ef074c17b9c1d2a412cfe49ab07250 # Parent cc99d500cfe2d338c6aa97a199d56a02a16440d8 patch 8.1.1898: crash when out of memory during startup Commit: 4dc8f498aa3b1f58301914b57d75fea1dcad33ef Author: Bram Moolenaar Date: Wed Aug 21 13:06:55 2019 +0200 patch 8.1.1898: crash when out of memory during startup Problem: Crash when out of memory during startup. Solution: When out of memory message given during initialisation bail out. (closes #4842) diff --git a/src/misc2.c b/src/misc2.c --- a/src/misc2.c +++ b/src/misc2.c @@ -1014,14 +1014,19 @@ do_outofmem_msg(size_t size) { if (!did_outofmem_msg) { - /* Don't hide this message */ + // Don't hide this message emsg_silent = 0; - /* Must come first to avoid coming back here when printing the error - * message fails, e.g. when setting v:errmsg. */ + // Must come first to avoid coming back here when printing the error + // message fails, e.g. when setting v:errmsg. did_outofmem_msg = TRUE; semsg(_("E342: Out of memory! (allocating %lu bytes)"), (long_u)size); + + if (starting == NO_SCREEN) + // Not even finished with initializations and already out of + // memory? Then nothing is going to work, exit. + mch_exit(123); } } diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -766,6 +766,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1898, +/**/ 1897, /**/ 1896,