summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLars Henriksen <LarsHenriksen@get2net.dk>2017-08-11 10:24:53 +0200
committerLukas Fleischer <lfleischer@calcurse.org>2017-08-12 15:40:02 +0200
commitb36dd2e614f51d7061b8dabd0bb139833ef7bed4 (patch)
treec5360c0cdc25cf92f0f2026edc42ac72aa126387
parent53db74ab343b5fc4c5e655b47e3886d58227ce07 (diff)
downloadcalcurse-b36dd2e614f51d7061b8dabd0bb139833ef7bed4.tar.gz
calcurse-b36dd2e614f51d7061b8dabd0bb139833ef7bed4.zip
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>
-rw-r--r--src/utils.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/utils.c b/src/utils.c
index 9d131ad..4719add 100644
--- a/src/utils.c
+++ b/src/utils.c
@@ -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);