< prev index next >

src/java.desktop/share/native/libfreetype/src/sfnt/ttload.c

Print this page

        

*** 3,13 **** * ttload.c * * Load the basic TrueType tables, i.e., tables that can be either in * TTF or OTF fonts (body). * ! * Copyright (C) 1996-2019 by * David Turner, Robert Wilhelm, and Werner Lemberg. * * This file is part of the FreeType project, and may only be used, * modified, and distributed under the terms of the FreeType project * license, LICENSE.TXT. By continuing to use, modify, or distribute --- 3,13 ---- * ttload.c * * Load the basic TrueType tables, i.e., tables that can be either in * TTF or OTF fonts (body). * ! * Copyright (C) 1996-2020 by * David Turner, Robert Wilhelm, and Werner Lemberg. * * This file is part of the FreeType project, and may only be used, * modified, and distributed under the terms of the FreeType project * license, LICENSE.TXT. By continuing to use, modify, or distribute
*** 395,405 **** --- 395,413 ---- " invalid table directory for TrueType\n" )); goto Exit; } } else + { valid_entries = sfnt.num_tables; + if ( !valid_entries ) + { + FT_TRACE2(( "tt_face_load_font_dir: no valid tables found\n" )); + error = FT_THROW( Unknown_File_Format ); + goto Exit; + } + } face->num_tables = valid_entries; face->format_tag = sfnt.format_tag; if ( FT_QNEW_ARRAY( face->dir_tables, face->num_tables ) )
*** 914,924 **** goto Exit; /* load language tags */ { TT_LangTag entry = table->langTags; ! TT_LangTag limit = entry + table->numLangTagRecords; for ( ; entry < limit; entry++ ) { (void)FT_STREAM_READ_FIELDS( langTag_record_fields, entry ); --- 922,932 ---- goto Exit; /* load language tags */ { TT_LangTag entry = table->langTags; ! TT_LangTag limit = FT_OFFSET( entry, table->numLangTagRecords ); for ( ; entry < limit; entry++ ) { (void)FT_STREAM_READ_FIELDS( langTag_record_fields, entry );
< prev index next >