[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.
This commit is contained in:
parent
19d8687f0b
commit
0f6be06444
11
ChangeLog
11
ChangeLog
|
@ -1,3 +1,14 @@
|
|||
2018-06-17 Armin Hasitzka <prince.cherusker@gmail.com>
|
||||
|
||||
[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 <wl@gnu.org>
|
||||
|
||||
[base] Add tracing for `FT_Bitmap_Blend'.
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue