[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[freetype2] master 0f6be06: [bdf] Fix underflow of an unsigned value.
From: |
Armin |
Subject: |
[freetype2] master 0f6be06: [bdf] Fix underflow of an unsigned value. |
Date: |
Sun, 17 Jun 2018 14:28:51 -0400 (EDT) |
branch: master
commit 0f6be0644422f57b4874825a48c3a9852b10ae59
Author: Armin Hasitzka <address@hidden>
Commit: Armin Hasitzka <address@hidden>
[bdf] Fix underflow of an unsigned value.
bdflib.c:1562 could be reached with `font->glyphs_used == 0'. That
caused an underflow of the unsigned value which results in undefined
behaviour.
* src/bdf/bdflib.c (src/bdf/bdflib.c): Bail out earlier than before
if the `ENCODING' keyword cannot be found.
---
ChangeLog | 11 +++++++++++
src/bdf/bdflib.c | 12 +++---------
2 files changed, 14 insertions(+), 9 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 05b1772..9bee9e4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2018-06-17 Armin Hasitzka <address@hidden>
+
+ [bdf] Fix underflow of an unsigned value.
+
+ bdflib.c:1562 could be reached with `font->glyphs_used == 0'. That
+ caused an underflow of the unsigned value which results in undefined
+ behaviour.
+
+ * src/bdf/bdflib.c (src/bdf/bdflib.c): Bail out earlier than before
+ if the `ENCODING' keyword cannot be found.
+
2018-06-17 Werner Lemberg <address@hidden>
[base] Add tracing for `FT_Bitmap_Blend'.
diff --git a/src/bdf/bdflib.c b/src/bdf/bdflib.c
index 1b8d460..5c09591 100644
--- a/src/bdf/bdflib.c
+++ b/src/bdf/bdflib.c
@@ -1556,6 +1556,9 @@
goto Exit;
}
+ if ( !( p->flags & BDF_ENCODING_ ) )
+ goto Missing_Encoding;
+
/* Point at the glyph being constructed. */
if ( p->glyph_enc == -1 )
glyph = font->unencoded + ( font->unencoded_used - 1 );
@@ -1626,9 +1629,6 @@
/* Expect the SWIDTH (scalable width) field next. */
if ( _bdf_strncmp( line, "SWIDTH", 6 ) == 0 )
{
- if ( !( p->flags & BDF_ENCODING_ ) )
- goto Missing_Encoding;
-
error = _bdf_list_split( &p->list, (char *)" +", line, linelen );
if ( error )
goto Exit;
@@ -1642,9 +1642,6 @@
/* Expect the DWIDTH (scalable width) field next. */
if ( _bdf_strncmp( line, "DWIDTH", 6 ) == 0 )
{
- if ( !( p->flags & BDF_ENCODING_ ) )
- goto Missing_Encoding;
-
error = _bdf_list_split( &p->list, (char *)" +", line, linelen );
if ( error )
goto Exit;
@@ -1670,9 +1667,6 @@
/* Expect the BBX field next. */
if ( _bdf_strncmp( line, "BBX", 3 ) == 0 )
{
- if ( !( p->flags & BDF_ENCODING_ ) )
- goto Missing_Encoding;
-
error = _bdf_list_split( &p->list, (char *)" +", line, linelen );
if ( error )
goto Exit;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [freetype2] master 0f6be06: [bdf] Fix underflow of an unsigned value.,
Armin <=