mirror of
https://github.com/tmux/tmux.git
synced 2026-07-29 19:57:54 +00:00
Do not loop forever if the combining character is too long, GitHub issue
5434 from me at qdrs dot dev.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
/* $OpenBSD: screen-write.c,v 1.284 2026/07/20 11:16:33 nicm Exp $ */
|
||||
/* $OpenBSD: screen-write.c,v 1.285 2026/07/26 09:02:08 nicm Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2007 Nicholas Marriott <nicholas.marriott@gmail.com>
|
||||
@@ -2783,7 +2783,7 @@ screen_write_combine(struct screen_write_ctx *ctx, const struct grid_cell *gc)
|
||||
|
||||
/* Check if this combined character would be too long. */
|
||||
if (last.data.size + ud->size > sizeof last.data.data)
|
||||
return (0);
|
||||
return (zero_width);
|
||||
|
||||
/* Combining; flush any pending output. */
|
||||
screen_write_collect_flush(ctx, 0, __func__);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* $OpenBSD: tty-draw.c,v 1.14 2026/06/19 10:38:29 nicm Exp $ */
|
||||
/* $OpenBSD: tty-draw.c,v 1.15 2026/07/26 09:02:08 nicm Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2026 Nicholas Marriott <nicholas.marriott@gmail.com>
|
||||
@@ -100,6 +100,8 @@ tty_draw_line_get_empty(const struct grid_cell *gc,
|
||||
empty = nx;
|
||||
else if (gc->flags & GRID_FLAG_PADDING)
|
||||
empty = 1;
|
||||
else if (gc->data.width == 0)
|
||||
empty = 1;
|
||||
else if (gc->flags & GRID_FLAG_SELECTED)
|
||||
empty = 0;
|
||||
else if (gc->bg == last->bg && gc->attr == 0 && gc->link == 0) {
|
||||
|
||||
Reference in New Issue
Block a user