[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[freetype2] master b98133a: * src/pcf/pcfread.c (pcf_get_encodings): Che
From: |
Werner LEMBERG |
Subject: |
[freetype2] master b98133a: * src/pcf/pcfread.c (pcf_get_encodings): Check index of defaultChar. |
Date: |
Sun, 22 Jul 2018 07:06:35 -0400 (EDT) |
branch: master
commit b98133a4e9831544fec776757b2a6745d4ebc51e
Author: Werner Lemberg <address@hidden>
Commit: Werner Lemberg <address@hidden>
* src/pcf/pcfread.c (pcf_get_encodings): Check index of defaultChar.
Reported as
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9527
---
ChangeLog | 8 ++++++++
src/pcf/pcfread.c | 8 ++++++++
2 files changed, 16 insertions(+)
diff --git a/ChangeLog b/ChangeLog
index d442b40..020575c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
2018-07-22 Werner Lemberg <address@hidden>
+ * src/pcf/pcfread.c (pcf_get_encodings): Check index of defaultChar.
+
+ Reported as
+
+ https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9527
+
+2018-07-22 Werner Lemberg <address@hidden>
+
* src/pcf/pcfread.c (pcf_load_font): Fix number of glyphs.
This is an oversight of the module change 2018-07-21.
diff --git a/src/pcf/pcfread.c b/src/pcf/pcfread.c
index e55b472..a3a3dff 100644
--- a/src/pcf/pcfread.c
+++ b/src/pcf/pcfread.c
@@ -1059,6 +1059,14 @@ THE SOFTWARE.
else
defaultCharEncodingOffset = FT_PEEK_USHORT_LE( pos );
+ if ( defaultCharEncodingOffset >= face->nmetrics )
+ {
+ FT_TRACE0(( "pcf_get_encodings:"
+ " Invalid glyph index for default character,"
+ " setting to zero\n" ));
+ defaultCharEncodingOffset = 0;
+ }
+
if ( defaultCharEncodingOffset )
{
/* do the swapping */
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [freetype2] master b98133a: * src/pcf/pcfread.c (pcf_get_encodings): Check index of defaultChar.,
Werner LEMBERG <=