From ef697694d293850a6b095410ff551526aafc9c88 Mon Sep 17 00:00:00 2001 From: Neo Xu Date: Tue, 11 Jun 2024 17:45:14 +0800 Subject: [PATCH] fix(obj): fix memory leak in error handling (#6330) Signed-off-by: Neo Xu --- src/core/lv_obj_class.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/core/lv_obj_class.c b/src/core/lv_obj_class.c index 952b7b1cd..837155c2c 100644 --- a/src/core/lv_obj_class.c +++ b/src/core/lv_obj_class.c @@ -67,8 +67,11 @@ lv_obj_t * lv_obj_class_create_obj(const lv_obj_class_t * class_p, lv_obj_t * pa } lv_obj_t ** screens = lv_realloc(disp->screens, sizeof(lv_obj_t *) * (disp->screen_cnt + 1)); - LV_ASSERT_NULL(screens); - if(screens == NULL) return NULL; + LV_ASSERT_MALLOC(screens); + if(screens == NULL) { + lv_free(obj); + return NULL; + } disp->screen_cnt++; disp->screens = screens;