[bdf] Fix Savannah bug #35641.
* src/bdf/bdflib.c (_bdf_parse_glyphs) <DWIDTH, BBX>: Abort if _BDF_ENCODING isn't set. We need this because access to the `glyph' variable might be undefined otherwise.
This commit is contained in:
parent
5dddcc45a0
commit
4086fb7caf
|
@ -1,3 +1,11 @@
|
||||||
|
2012-02-29 Werner Lemberg <wl@gnu.org>
|
||||||
|
|
||||||
|
[bdf] Fix Savannah bug #35641.
|
||||||
|
|
||||||
|
* src/bdf/bdflib.c (_bdf_parse_glyphs) <DWIDTH, BBX>: Abort if
|
||||||
|
_BDF_ENCODING isn't set. We need this because access to the `glyph'
|
||||||
|
variable might be undefined otherwise.
|
||||||
|
|
||||||
2012-02-29 Werner Lemberg <wl@gnu.org>
|
2012-02-29 Werner Lemberg <wl@gnu.org>
|
||||||
|
|
||||||
[truetype] Fix Savannah bug #35640.
|
[truetype] Fix Savannah bug #35640.
|
||||||
|
|
|
@ -1779,12 +1779,7 @@
|
||||||
if ( ft_memcmp( line, "SWIDTH", 6 ) == 0 )
|
if ( ft_memcmp( line, "SWIDTH", 6 ) == 0 )
|
||||||
{
|
{
|
||||||
if ( !( p->flags & _BDF_ENCODING ) )
|
if ( !( p->flags & _BDF_ENCODING ) )
|
||||||
{
|
goto Missing_Encoding;
|
||||||
/* Missing ENCODING field. */
|
|
||||||
FT_ERROR(( "_bdf_parse_glyphs: " ERRMSG1, lineno, "ENCODING" ));
|
|
||||||
error = BDF_Err_Missing_Encoding_Field;
|
|
||||||
goto Exit;
|
|
||||||
}
|
|
||||||
|
|
||||||
error = _bdf_list_split( &p->list, (char *)" +", line, linelen );
|
error = _bdf_list_split( &p->list, (char *)" +", line, linelen );
|
||||||
if ( error )
|
if ( error )
|
||||||
|
@ -1799,6 +1794,9 @@
|
||||||
/* Expect the DWIDTH (scalable width) field next. */
|
/* Expect the DWIDTH (scalable width) field next. */
|
||||||
if ( ft_memcmp( line, "DWIDTH", 6 ) == 0 )
|
if ( ft_memcmp( line, "DWIDTH", 6 ) == 0 )
|
||||||
{
|
{
|
||||||
|
if ( !( p->flags & _BDF_ENCODING ) )
|
||||||
|
goto Missing_Encoding;
|
||||||
|
|
||||||
error = _bdf_list_split( &p->list, (char *)" +", line, linelen );
|
error = _bdf_list_split( &p->list, (char *)" +", line, linelen );
|
||||||
if ( error )
|
if ( error )
|
||||||
goto Exit;
|
goto Exit;
|
||||||
|
@ -1824,6 +1822,9 @@
|
||||||
/* Expect the BBX field next. */
|
/* Expect the BBX field next. */
|
||||||
if ( ft_memcmp( line, "BBX", 3 ) == 0 )
|
if ( ft_memcmp( line, "BBX", 3 ) == 0 )
|
||||||
{
|
{
|
||||||
|
if ( !( p->flags & _BDF_ENCODING ) )
|
||||||
|
goto Missing_Encoding;
|
||||||
|
|
||||||
error = _bdf_list_split( &p->list, (char *)" +", line, linelen );
|
error = _bdf_list_split( &p->list, (char *)" +", line, linelen );
|
||||||
if ( error )
|
if ( error )
|
||||||
goto Exit;
|
goto Exit;
|
||||||
|
@ -1924,6 +1925,12 @@
|
||||||
|
|
||||||
FT_ERROR(( "_bdf_parse_glyphs: " ERRMSG9, lineno ));
|
FT_ERROR(( "_bdf_parse_glyphs: " ERRMSG9, lineno ));
|
||||||
error = BDF_Err_Invalid_File_Format;
|
error = BDF_Err_Invalid_File_Format;
|
||||||
|
goto Exit;
|
||||||
|
|
||||||
|
Missing_Encoding:
|
||||||
|
/* Missing ENCODING field. */
|
||||||
|
FT_ERROR(( "_bdf_parse_glyphs: " ERRMSG1, lineno, "ENCODING" ));
|
||||||
|
error = BDF_Err_Missing_Encoding_Field;
|
||||||
|
|
||||||
Exit:
|
Exit:
|
||||||
if ( error && ( p->flags & _BDF_GLYPH ) )
|
if ( error && ( p->flags & _BDF_GLYPH ) )
|
||||||
|
|
Loading…
Reference in New Issue