summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2019-08-21 13:06:55 +0200
committerBram Moolenaar <Bram@vim.org>2019-08-21 13:06:55 +0200
commit4dc8f498aa3b1f58301914b57d75fea1dcad33ef (patch)
tree9aa0c2df55444e42b2de476e855a9e8310ae5a47
parentf1552d07d715b437d941659479942c2543b02bd4 (diff)
downloadvim-git-4dc8f498aa3b1f58301914b57d75fea1dcad33ef.tar.gz
patch 8.1.1898: crash when out of memory during startupv8.1.1898
Problem: Crash when out of memory during startup. Solution: When out of memory message given during initialisation bail out. (closes #4842)
-rw-r--r--src/misc2.c11
-rw-r--r--src/version.c2
2 files changed, 10 insertions, 3 deletions
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
@@ -766,6 +766,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1898,
+/**/
1897,
/**/
1896,