Commit d5988259 authored by Piotr Caban's avatar Piotr Caban Committed by Alexandre Julliard

wineps.drv: Don't crash if specified font is missing required table in T42_download_header.

parent 8f890d41
...@@ -170,7 +170,6 @@ TYPE42 *T42_download_header(print_ctx *ctx, char *ps_name, ...@@ -170,7 +170,6 @@ TYPE42 *T42_download_header(print_ctx *ctx, char *ps_name,
t42 = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*t42)); t42 = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*t42));
memcpy(t42->tables, tables_templ, sizeof(tables_templ)); memcpy(t42->tables, tables_templ, sizeof(tables_templ));
t42->loca_tab = t42->glyf_tab = t42->head_tab = -1;
t42->emsize = emsize; t42->emsize = emsize;
t42->num_of_written_tables = 0; t42->num_of_written_tables = 0;
...@@ -186,6 +185,9 @@ TYPE42 *T42_download_header(print_ctx *ctx, char *ps_name, ...@@ -186,6 +185,9 @@ TYPE42 *T42_download_header(print_ctx *ctx, char *ps_name,
t42->head_tab = i; t42->head_tab = i;
else if(t42->tables[i].MS_tag == MS_MAKE_TAG('m','a','x','p')) else if(t42->tables[i].MS_tag == MS_MAKE_TAG('m','a','x','p'))
t42->maxp_tab = i; t42->maxp_tab = i;
else
continue;
if(!t42->tables[i].len) break;
} }
if(i < num_of_tables) { if(i < num_of_tables) {
TRACE("Table %ld has length %ld. Will use Type 1 font instead.\n", i, t42->tables[i].len); TRACE("Table %ld has length %ld. Will use Type 1 font instead.\n", i, t42->tables[i].len);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment