summaryrefslogtreecommitdiff
path: root/gfx/cairo/dwrite-font-match-robustness.patch
blob: eadcce3bdfbadc2702d54ffcb19c98d213dafbec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
From: Robert O'Callahan <robert@ocallahan.org>
Bug 717178. Part 1: Don't crash when passing a nil scaled-font to _name_tables_match. r=jfkthame

diff --git a/gfx/cairo/cairo/src/cairo-dwrite-font.cpp b/gfx/cairo/cairo/src/cairo-dwrite-font.cpp
--- a/gfx/cairo/cairo/src/cairo-dwrite-font.cpp
+++ b/gfx/cairo/cairo/src/cairo-dwrite-font.cpp
@@ -1489,17 +1489,18 @@ static cairo_bool_t
     unsigned long size1;
     unsigned long size2;
     cairo_int_status_t status1;
     cairo_int_status_t status2;
     unsigned char *buffer1;
     unsigned char *buffer2;
     cairo_bool_t result = false;
 
-    if (!font1->backend->load_truetype_table ||
+    if (!font1->backend || !font2->backend ||
+        !font1->backend->load_truetype_table ||
         !font2->backend->load_truetype_table)
         return false;
 
     status1 = font1->backend->load_truetype_table (font1,
                                                    TT_TAG_name, 0, NULL, &size1);
     status2 = font2->backend->load_truetype_table (font2,
                                                    TT_TAG_name, 0, NULL, &size2);
     if (status1 || status2)