From 5f9343595941f2103afad7eed66d4da2788de090 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Andr=C3=A9=20Tanner?= Date: Tue, 7 Jul 2015 09:55:00 +0200 Subject: view: properly NUL terminate whitespace replacement symbols This should not be a problem in practice, since cell->data is large enough anyway. --- view.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'view.c') diff --git a/view.c b/view.c index e7a8312..78a54f4 100644 --- a/view.c +++ b/view.c @@ -165,7 +165,7 @@ static bool view_addch(View *view, Cell *cell) { cell->len = w == 0 ? 1 : 0; int t = w == 0 ? SYNTAX_SYMBOL_TAB : SYNTAX_SYMBOL_TAB_FILL; - strncpy(cell->data, view->symbols[t]->symbol, sizeof(cell->data)); + strncpy(cell->data, view->symbols[t]->symbol, sizeof(cell->data)-1); if (view->symbols[t]->color) cell->attr = view->symbols[t]->color->attr | (cell->attr & A_REVERSE); view->line->cells[view->col] = *cell; @@ -185,7 +185,7 @@ static bool view_addch(View *view, Cell *cell) { view->line->lineno = lineno; } - strncpy(cell->data, view->symbols[SYNTAX_SYMBOL_EOL]->symbol, sizeof(cell->data)); + strncpy(cell->data, view->symbols[SYNTAX_SYMBOL_EOL]->symbol, sizeof(cell->data)-1); if (view->symbols[SYNTAX_SYMBOL_EOL]->color) cell->attr = view->symbols[SYNTAX_SYMBOL_EOL]->color->attr; @@ -213,7 +213,7 @@ static bool view_addch(View *view, Cell *cell) { } if (cell->data[0] == ' ') { - strncpy(cell->data, view->symbols[SYNTAX_SYMBOL_SPACE]->symbol, sizeof(cell->data)); + strncpy(cell->data, view->symbols[SYNTAX_SYMBOL_SPACE]->symbol, sizeof(cell->data)-1); if (view->symbols[SYNTAX_SYMBOL_SPACE]->color) cell->attr = view->symbols[SYNTAX_SYMBOL_SPACE]->color->attr | (cell->attr & A_REVERSE); -- cgit v1.2.3