Fix segfault when font descriptor point to invalid font file

This commit is contained in:
Matubu 2024-10-18 02:24:47 +02:00
parent d31459b092
commit b0e49d70db
No known key found for this signature in database
2 changed files with 2 additions and 2 deletions

View file

@ -520,7 +520,7 @@ face_from_descriptor:
}
}
ans = face_from_descriptor(d, fg);
if (!glyph_found) glyph_found = has_cell_text(face_has_codepoint, ans, cell, false);
if (!glyph_found && ans) glyph_found = has_cell_text(face_has_codepoint, ans, cell, false);
}
end:
Py_CLEAR(d);

View file

@ -279,7 +279,7 @@ face_from_descriptor(PyObject *descriptor, FONTS_DATA_HANDLE fg) {
if (retval != NULL) {
Face *self = (Face *)retval;
int error;
if ((error = FT_New_Face(library, path, index, &(self->face)))) { self->face = NULL; set_load_error(path, error); }
if ((error = FT_New_Face(library, path, index, &(self->face)))) { self->face = NULL; return set_load_error(path, error); }
if (!init_ft_face(self, PyDict_GetItemString(descriptor, "path"), hinting, hint_style, fg)) return NULL;
PyObject *ns = PyDict_GetItemString(descriptor, "named_style");
if (ns) {