From 9352e71da8d47a4059702b4b5e00bb391e1d2711 Mon Sep 17 00:00:00 2001 From: TotallyNotElite <1yourexperiment@protonmail.com> Date: Fri, 26 Oct 2018 21:34:41 +0200 Subject: [PATCH] Fix nullptr crash --- ftgl/font-manager.c | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/ftgl/font-manager.c b/ftgl/font-manager.c index 20999c3..672d172 100644 --- a/ftgl/font-manager.c +++ b/ftgl/font-manager.c @@ -47,22 +47,23 @@ font_manager_t *font_manager_new(size_t width, size_t height, size_t depth) // ---------------------------------------------------- font_manager_delete --- void font_manager_delete(font_manager_t *self) { - size_t i; - texture_font_t *font; - assert(self); - - for (i = 0; i < vector_size(self->fonts); ++i) + if (self) { - font = *(texture_font_t **) vector_get(self->fonts, i); - texture_font_delete(font); + size_t i; + texture_font_t *font; + for (i = 0; i < vector_size(self->fonts); ++i) + { + font = *(texture_font_t **) vector_get(self->fonts, i); + texture_font_delete(font); + } + vector_delete(self->fonts); + texture_atlas_delete(self->atlas); + if (self->cache) + { + free(self->cache); + } + free(self); } - vector_delete(self->fonts); - texture_atlas_delete(self->atlas); - if (self->cache) - { - free(self->cache); - } - free(self); } // ----------------------------------------------- font_manager_delete_font ---