[SCM] konsole packaging branch, master, updated. debian/16.12.0-1-15-gc4bb01c

Maximiliano Curia maxy at moszumanska.debian.org
Mon Mar 27 12:31:45 UTC 2017


Gitweb-URL: http://git.debian.org/?p=pkg-kde/applications/konsole.git;a=commitdiff;h=bce1252

The following commit has been merged in the master branch:
commit bce12523dc1be25de09920c98407521fa9d49dff
Author: Maximiliano Curia <maxy at gnuservers.com.ar>
Date:   Mon Mar 27 14:01:14 2017 +0200

    Add upstream patch: Limit-ourselves-to-3-combining-characters.patch
---
 ...Limit-ourselves-to-3-combining-characters.patch | 49 ++++++++++++++++++++++
 debian/patches/series                              |  1 +
 2 files changed, 50 insertions(+)

diff --git a/debian/patches/Limit-ourselves-to-3-combining-characters.patch b/debian/patches/Limit-ourselves-to-3-combining-characters.patch
new file mode 100644
index 0000000..11928e3
--- /dev/null
+++ b/debian/patches/Limit-ourselves-to-3-combining-characters.patch
@@ -0,0 +1,49 @@
+From: "Martin T. H. Sandsmark" <martin.sandsmark at kde.org>
+Date: Sun, 22 Jan 2017 21:00:24 +0100
+Subject: Limit ourselves to 3 combining characters
+
+This seems to be the limit in all the test files I've been trying.
+Without this we get an issue with too many combining characters where
+Konsole will eventually just hang.
+
+REVIEW: 129874
+---
+ src/Screen.cpp     |  2 +-
+ tests/combining.py | 15 +++++++++++++++
+ 2 files changed, 16 insertions(+), 1 deletion(-)
+ create mode 100644 tests/combining.py
+
+diff --git a/src/Screen.cpp b/src/Screen.cpp
+index 0b3124a5..b3d513fe 100644
+--- a/src/Screen.cpp
++++ b/src/Screen.cpp
+@@ -668,7 +668,7 @@ void Screen::displayCharacter(unsigned short c)
+             ushort extendedCharLength;
+             const ushort* oldChars = ExtendedCharTable::instance.lookupExtendedChar(currentChar.character, extendedCharLength);
+             Q_ASSERT(oldChars);
+-            if (oldChars) {
++            if (oldChars && extendedCharLength < 3) {
+                 Q_ASSERT(extendedCharLength > 1);
+                 Q_ASSERT(extendedCharLength < 65535);
+                 ushort* chars = new ushort[extendedCharLength + 1];
+diff --git a/tests/combining.py b/tests/combining.py
+new file mode 100644
+index 00000000..fb2afc68
+--- /dev/null
++++ b/tests/combining.py
+@@ -0,0 +1,15 @@
++#!/usr/bin/env python3
++
++'''
++Generates an endless amount of combining characters
++'''
++
++import random
++import string
++
++combs = list("\u0300\u0301\u0302\u0303\u0304\u0305\u0306\u0307\u0308\u0309\u030A\u030B\u030C\u030D\u030E\u030F")
++
++while True:
++    random.shuffle(combs)
++    print(random.choice(string.ascii_letters)+"".join(combs), end="", flush=True)
++
diff --git a/debian/patches/series b/debian/patches/series
index e15db8d..e47c055 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -7,3 +7,4 @@ Screen-Fix-potential-crash-when-ExtendedCharTable-tries-t.patch
 Handle-surrogate-utf16-characters.patch
 Fix-word-boundaries-with-combining-characters.patch
 Don-t-include-newlines-in-selection-if-trimming-is-on.patch
+Limit-ourselves-to-3-combining-characters.patch

-- 
konsole packaging



More information about the pkg-kde-commits mailing list