summaryrefslogtreecommitdiff
path: root/src/dged/buffer_view.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/dged/buffer_view.c')
-rw-r--r--src/dged/buffer_view.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/dged/buffer_view.c b/src/dged/buffer_view.c
index 23bd8e2..49d938a 100644
--- a/src/dged/buffer_view.c
+++ b/src/dged/buffer_view.c
@@ -353,7 +353,11 @@ static void render_modeline(struct modeline *modeline, struct buffer_view *view,
if (strcmp(buf, (char *)modeline->buffer) != 0) {
modeline->buffer = realloc(modeline->buffer, width * 4);
modeline->sz = width * 4;
- strcpy((char *)modeline->buffer, buf);
+
+ uint32_t len = strlen(buf);
+ len = (len + 1) > modeline->sz ? modeline->sz - 1 : len;
+ memcpy(modeline->buffer, buf, len);
+ modeline->buffer[len] = '\0';
}
command_list_set_index_color_bg(commands, 8);