summaryrefslogtreecommitdiffstats
path: root/icu.icu5557.safety.patch
diff options
context:
space:
mode:
Diffstat (limited to 'icu.icu5557.safety.patch')
-rw-r--r--icu.icu5557.safety.patch14
1 files changed, 14 insertions, 0 deletions
diff --git a/icu.icu5557.safety.patch b/icu.icu5557.safety.patch
new file mode 100644
index 0000000..682caa1
--- /dev/null
+++ b/icu.icu5557.safety.patch
@@ -0,0 +1,14 @@
+--- icu.orig/source/layout/CoverageTables.cpp 2007-01-09 12:57:41.000000000 +0000
++++ icu/source/layout/CoverageTables.cpp 2007-01-09 12:59:09.000000000 +0000
+@@ -44,6 +44,11 @@
+ le_uint16 count = SWAPW(glyphCount);
+ le_uint8 bit = OpenTypeUtilities::highBit(count);
+ le_uint16 power = 1 << bit;
++
++ if (count == 0) {
++ return -1;
++ }
++
+ le_uint16 extra = count - power;
+ le_uint16 probe = power;
+ le_uint16 index = 0;