Fix empty warning box when key is already in use

When adding a key already in use for another action, a warning box is
displayed. The text length is limited by the window width through the
use of strncpy(). If the limit is exceeded, the string will have no null
termination, resulting in unpredictable behaviour.

A similar problem in fatalbox() is fixed as well.

Signed-off-by: Lars Henriksen <LarsHenriksen@get2net.dk>
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
This commit is contained in:
Lars Henriksen 2017-08-11 10:24:53 +02:00 committed by Lukas Fleischer
parent 53db74ab34
commit b36dd2e614

View File

@ -135,6 +135,7 @@ void fatalbox(const char *errmsg)
return;
strncpy(msg, errmsg, MSGLEN);
msg[MSGLEN - 1] = '\0';
errwin =
newwin(WINROW, WINCOL, (row - WINROW) / 2, (col - WINCOL) / 2);
custom_apply_attr(errwin, ATTR_HIGHEST);
@ -162,6 +163,7 @@ void warnbox(const char *msg)
return;
strncpy(displmsg, msg, MSGLEN);
displmsg[MSGLEN - 1] = '\0';
warnwin =
newwin(WINROW, WINCOL, (row - WINROW) / 2, (col - WINCOL) / 2);
custom_apply_attr(warnwin, ATTR_HIGHEST);