[PATCH] dwrite: Always initialize context and font table pointers
Nikolay Sivov
nsivov at codeweavers.com
Fri Apr 1 00:40:07 CDT 2016
Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
---
dlls/dwrite/opentype.c | 3 +++
dlls/dwrite/tests/font.c | 9 +++++++++
2 files changed, 12 insertions(+)
diff --git a/dlls/dwrite/opentype.c b/dlls/dwrite/opentype.c
index 7fb1749..97a786d 100644
--- a/dlls/dwrite/opentype.c
+++ b/dlls/dwrite/opentype.c
@@ -967,6 +967,9 @@ HRESULT opentype_get_font_table(IDWriteFontFileStream *stream, DWRITE_FONT_FACE_
if (found) *found = FALSE;
if (table_size) *table_size = 0;
+ *table_data = NULL;
+ *table_context = NULL;
+
if (type == DWRITE_FONT_FACE_TYPE_TRUETYPE_COLLECTION) {
const TTC_Header_V1 *ttc_header;
void * ttc_context;
diff --git a/dlls/dwrite/tests/font.c b/dlls/dwrite/tests/font.c
index e1c09a2..b5853ec 100644
--- a/dlls/dwrite/tests/font.c
+++ b/dlls/dwrite/tests/font.c
@@ -3210,6 +3210,15 @@ static void test_TryGetFontTable(void)
IDWriteFontFace_ReleaseFontTable(fontface, context2);
IDWriteFontFace_ReleaseFontTable(fontface, context);
+ /* table does not exist */
+ exists = TRUE;
+ context = (void*)0xdeadbeef;
+ table = (void*)0xdeadbeef;
+ hr = IDWriteFontFace_TryGetFontTable(fontface, 0xabababab, &table, &size, &context, &exists);
+ ok(hr == S_OK, "got 0x%08x\n", hr);
+ ok(exists == FALSE, "got %d\n", exists);
+ ok(context == NULL && table == NULL, "got context %p, table pointer %p\n", context, table);
+
IDWriteFontFace_Release(fontface);
IDWriteFontFile_Release(file);
IDWriteFactory_Release(factory);
--
2.8.0.rc3
More information about the wine-patches
mailing list