michael@0: From: Robert O'Callahan michael@0: Bug 717178. Part 1: Don't crash when passing a nil scaled-font to _name_tables_match. r=jfkthame michael@0: michael@0: diff --git a/gfx/cairo/cairo/src/cairo-dwrite-font.cpp b/gfx/cairo/cairo/src/cairo-dwrite-font.cpp michael@0: --- a/gfx/cairo/cairo/src/cairo-dwrite-font.cpp michael@0: +++ b/gfx/cairo/cairo/src/cairo-dwrite-font.cpp michael@0: @@ -1489,17 +1489,18 @@ static cairo_bool_t michael@0: unsigned long size1; michael@0: unsigned long size2; michael@0: cairo_int_status_t status1; michael@0: cairo_int_status_t status2; michael@0: unsigned char *buffer1; michael@0: unsigned char *buffer2; michael@0: cairo_bool_t result = false; michael@0: michael@0: - if (!font1->backend->load_truetype_table || michael@0: + if (!font1->backend || !font2->backend || michael@0: + !font1->backend->load_truetype_table || michael@0: !font2->backend->load_truetype_table) michael@0: return false; michael@0: michael@0: status1 = font1->backend->load_truetype_table (font1, michael@0: TT_TAG_name, 0, NULL, &size1); michael@0: status2 = font2->backend->load_truetype_table (font2, michael@0: TT_TAG_name, 0, NULL, &size2); michael@0: if (status1 || status2)