screen-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[screen-devel] [bug #60030] Screen segfaults by displaying some UTF-8 ch


From: Michael Schröder
Subject: [screen-devel] [bug #60030] Screen segfaults by displaying some UTF-8 character combination
Date: Wed, 10 Feb 2021 08:59:15 -0500 (EST)
User-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36

Follow-up Comment #1, bug #60030 (project screen):

Try this:

diff --git a/src/encoding.c b/src/encoding.c
index 11c3c41..e1ea364 100644
--- a/src/encoding.c
+++ b/src/encoding.c
@@ -1164,7 +1164,9 @@ void utf8_handle_comb(unsigned int c, struct mchar *mc)
                if (c1 >= 0xd800 && c1 < 0xe000)
                        comb_tofront(root, c1 - 0xd800);
                i = combchars[root]->prev;
-               if (c1 == i + 0xd800) {
+               if (i == (unsigned int)root)
+                       i = combchars[root ^ 1]->prev;  /* steal from other
root */
+               if (i == 0x800 || i == 0x801 || c1 == i + 0xd800) {
                        /* completely full, can't recycle */
                        mc->image = '?';
                        mc->font = 0;


    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?60030>

_______________________________________________
  Message sent via Savannah
  https://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]