From: Bram Moolenaar Date: Wed, 21 Aug 2019 11:06:55 +0000 (+0200) Subject: patch 8.1.1898: crash when out of memory during startup X-Git-Tag: v8.1.1898 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4dc8f498aa3b1f58301914b57d75fea1dcad33ef;p=vim 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 index db8392ccc..8cdd0d453 100644 --- 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 index 14a9528bc..0689e0345 100644 --- a/src/version.c +++ b/src/version.c @@ -765,6 +765,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1898, /**/ 1897, /**/