diff options
| author | Marc André Tanner <mat@brain-dump.org> | 2015-07-07 09:55:00 +0200 |
|---|---|---|
| committer | Marc André Tanner <mat@brain-dump.org> | 2015-07-07 10:15:43 +0200 |
| commit | 5f9343595941f2103afad7eed66d4da2788de090 (patch) | |
| tree | 219e36c29d3ef4b5775f61729d9758f6fa6502ec | |
| parent | 247d4c83e48da09918dc718fb4098d51d12b85af (diff) | |
| download | vis-5f9343595941f2103afad7eed66d4da2788de090.tar.gz vis-5f9343595941f2103afad7eed66d4da2788de090.tar.xz | |
view: properly NUL terminate whitespace replacement symbols
This should not be a problem in practice, since cell->data is large
enough anyway.
| -rw-r--r-- | view.c | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -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); |
