aboutsummaryrefslogtreecommitdiffstats
path: root/src/utils.c
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 /src/utils.c
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>
Diffstat (limited to 'src/utils.c')
-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);