From 2644d9c06034e08e4cf5078fd9cd9afcc396fe7c Mon Sep 17 00:00:00 2001 From: Benign X <1341398182@qq.com> Date: Mon, 8 Jan 2024 17:26:44 +0800 Subject: [PATCH] fix(freetype): fix return value and add more check (#5218) --- src/libs/freetype/lv_freetype.c | 4 ++-- src/libs/freetype/lv_freetype_outline.c | 5 +++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/libs/freetype/lv_freetype.c b/src/libs/freetype/lv_freetype.c index ce8cba0fa..527105af9 100755 --- a/src/libs/freetype/lv_freetype.c +++ b/src/libs/freetype/lv_freetype.c @@ -371,7 +371,7 @@ static bool cache_node_cache_create_cb(lv_freetype_cache_node_t * node, void * u FT_Error error = FT_New_Face(ctx->library, node->pathname, 0, &face); if(error) { FT_ERROR_MSG("FT_New_Face", error); - return NULL; + return false; } node->ref_size = LV_FREETYPE_OUTLINE_REF_SIZE_DEF; @@ -381,7 +381,7 @@ static bool cache_node_cache_create_cb(lv_freetype_cache_node_t * node, void * u if(error) { FT_Done_Face(face); FT_ERROR_MSG("FT_Set_Char_Size", error); - return NULL; + return false; } if(node->style & LV_FREETYPE_FONT_STYLE_ITALIC) { diff --git a/src/libs/freetype/lv_freetype_outline.c b/src/libs/freetype/lv_freetype_outline.c index 12c1724b1..0210510c0 100755 --- a/src/libs/freetype/lv_freetype_outline.c +++ b/src/libs/freetype/lv_freetype_outline.c @@ -75,6 +75,11 @@ bool lv_freetype_outline_font_create(lv_freetype_font_dsc_t * dsc) dsc->cache_node->draw_data_cache = lv_cache_create(&lv_cache_class_lru_rb_count, sizeof(lv_freetype_outline_node_t), LV_FREETYPE_CACHE_FT_GLYPH_CNT, glyph_outline_cache_ops); + if(dsc->cache_node->draw_data_cache == NULL + || dsc->cache_node->glyph_cache == NULL) { + LV_LOG_ERROR("draw data cache creating failed"); + return false; + } LV_LOG_INFO("outline cache(name: %s, style: 0x%x) create %p, ref_cnt = %d", dsc->cache_node->pathname,