From: nicm Date: Mon, 30 Oct 2023 16:05:30 +0000 (+0000) Subject: Do not allow combined UTF-8 characters that are too long, GitHub issue X-Git-Url: http://artulab.com/gitweb/?a=commitdiff_plain;h=eed425c7caf4153573e2f7e3f2b808c266309eef;p=openbsd Do not allow combined UTF-8 characters that are too long, GitHub issue 3729. --- diff --git a/usr.bin/tmux/screen-write.c b/usr.bin/tmux/screen-write.c index 45b36c8f3a1..71b7f99cadf 100644 --- a/usr.bin/tmux/screen-write.c +++ b/usr.bin/tmux/screen-write.c @@ -1,4 +1,4 @@ -/* $OpenBSD: screen-write.c,v 1.223 2023/10/23 08:12:00 nicm Exp $ */ +/* $OpenBSD: screen-write.c,v 1.224 2023/10/30 16:05:30 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott @@ -2025,6 +2025,10 @@ screen_write_combine(struct screen_write_ctx *ctx, const struct grid_cell *gc) return (0); } + /* Check if this combined character would be too long. */ + if (last.data.size + ud->size > sizeof last.data.data) + return (0); + /* Combining; flush any pending output. */ screen_write_collect_flush(ctx, 0, __func__);