gfx/cairo/dwrite-font-match-robustness.patch

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/gfx/cairo/dwrite-font-match-robustness.patch	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,26 @@
     1.4 +From: Robert O'Callahan <robert@ocallahan.org>
     1.5 +Bug 717178. Part 1: Don't crash when passing a nil scaled-font to _name_tables_match. r=jfkthame
     1.6 +
     1.7 +diff --git a/gfx/cairo/cairo/src/cairo-dwrite-font.cpp b/gfx/cairo/cairo/src/cairo-dwrite-font.cpp
     1.8 +--- a/gfx/cairo/cairo/src/cairo-dwrite-font.cpp
     1.9 ++++ b/gfx/cairo/cairo/src/cairo-dwrite-font.cpp
    1.10 +@@ -1489,17 +1489,18 @@ static cairo_bool_t
    1.11 +     unsigned long size1;
    1.12 +     unsigned long size2;
    1.13 +     cairo_int_status_t status1;
    1.14 +     cairo_int_status_t status2;
    1.15 +     unsigned char *buffer1;
    1.16 +     unsigned char *buffer2;
    1.17 +     cairo_bool_t result = false;
    1.18 + 
    1.19 +-    if (!font1->backend->load_truetype_table ||
    1.20 ++    if (!font1->backend || !font2->backend ||
    1.21 ++        !font1->backend->load_truetype_table ||
    1.22 +         !font2->backend->load_truetype_table)
    1.23 +         return false;
    1.24 + 
    1.25 +     status1 = font1->backend->load_truetype_table (font1,
    1.26 +                                                    TT_TAG_name, 0, NULL, &size1);
    1.27 +     status2 = font2->backend->load_truetype_table (font2,
    1.28 +                                                    TT_TAG_name, 0, NULL, &size2);
    1.29 +     if (status1 || status2)

mercurial