feedback: when not in curses mode, just skip displaying any message

Calling die() could trigger another call of emergency_save(), which
could fail and cause another call to statusline(), which would call
die() again...  Spiralling until stack space runs out.

This fixes https://savannah.gnu.org/bugs/?60853.

Bug existed since version 5.1, commit 7942dab0.

Original report was in https://bugzilla.redhat.com/1976410.
Reported-by: Souptik Dutta Roy <duttaroy.souptik@gmail.com>
This commit is contained in:
Benno Schulenberg 2021-06-29 12:51:44 +02:00
parent 896f174f94
commit fc01c5a10e

View File

@ -2255,8 +2255,9 @@ void statusline(message_type importance, const char *msg, ...)
UNSET(WHITESPACE_DISPLAY);
/* When not in curses mode, there is no status bar to display anything on. */
if (isendwin())
die("Out of curses -- please report a bug\n");
return;
#endif
/* Ignore a message with an importance that is lower than the last one. */