summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTianhao Chai <cth451@gmail.com>2018-03-09 13:04:44 -0600
committerBrad King <brad.king@kitware.com>2018-03-13 13:38:12 -0400
commit7899e5369126599aa05689b9ddfd233d2f317910 (patch)
treedeedc6332e902627649bdbcf2517abb804faf643
parentc1e087a9d3af74299d7681c9f9de59e5977a1539 (diff)
downloadcmake-7899e5369126599aa05689b9ddfd233d2f317910.tar.gz
ccmake: fix status line buffer overflow on very wide terminals
A mistyped length calculation will memset across stack frame when the user's terminal width is larger than 270.
-rw-r--r--Source/CursesDialog/cmCursesMainForm.cxx2
1 files changed, 1 insertions, 1 deletions
diff --git a/Source/CursesDialog/cmCursesMainForm.cxx b/Source/CursesDialog/cmCursesMainForm.cxx
index dbd024da61..4a9dc473cb 100644
--- a/Source/CursesDialog/cmCursesMainForm.cxx
+++ b/Source/CursesDialog/cmCursesMainForm.cxx
@@ -475,7 +475,7 @@ void cmCursesMainForm::UpdateStatusBar(const char* message)
strncpy(bar + curFieldLen + 2, help, width - curFieldLen - 2);
if (curFieldLen + helpLen + 2 < width) {
memset(bar + curFieldLen + helpLen + 2, ' ',
- width - curFieldLen + helpLen + 2);
+ width - (curFieldLen + helpLen + 2));
}
}
}