mirror of
https://github.com/tmux/tmux.git
synced 2026-10-10 12:14:43 +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>
|
* 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. */
|
/* Check if this combined character would be too long. */
|
||||||
if (last.data.size + ud->size > sizeof last.data.data)
|
if (last.data.size + ud->size > sizeof last.data.data)
|
||||||
return (0);
|
return (zero_width);
|
||||||
|
|
||||||
/* Combining; flush any pending output. */
|
/* Combining; flush any pending output. */
|
||||||
screen_write_collect_flush(ctx, 0, __func__);
|
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>
|
* 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;
|
empty = nx;
|
||||||
else if (gc->flags & GRID_FLAG_PADDING)
|
else if (gc->flags & GRID_FLAG_PADDING)
|
||||||
empty = 1;
|
empty = 1;
|
||||||
|
else if (gc->data.width == 0)
|
||||||
|
empty = 1;
|
||||||
else if (gc->flags & GRID_FLAG_SELECTED)
|
else if (gc->flags & GRID_FLAG_SELECTED)
|
||||||
empty = 0;
|
empty = 0;
|
||||||
else if (gc->bg == last->bg && gc->attr == 0 && gc->link == 0) {
|
else if (gc->bg == last->bg && gc->attr == 0 && gc->link == 0) {
|
||||||
|
|||||||
Reference in New Issue
Block a user