diff --git a/src/libs/libjpeg_turbo/lv_libjpeg_turbo.c b/src/libs/libjpeg_turbo/lv_libjpeg_turbo.c index a58be3b041..4704852896 100644 --- a/src/libs/libjpeg_turbo/lv_libjpeg_turbo.c +++ b/src/libs/libjpeg_turbo/lv_libjpeg_turbo.c @@ -172,6 +172,7 @@ static lv_result_t decoder_open(lv_image_decoder_t * decoder, lv_image_decoder_d decoded->data_size); if(cache == NULL) { lv_cache_unlock(); + lv_draw_buf_destroy(decoded); return LV_RESULT_INVALID; } diff --git a/src/libs/libpng/lv_libpng.c b/src/libs/libpng/lv_libpng.c index 189bd6f0cc..3876ceca47 100644 --- a/src/libs/libpng/lv_libpng.c +++ b/src/libs/libpng/lv_libpng.c @@ -162,6 +162,7 @@ static lv_result_t decoder_open(lv_image_decoder_t * decoder, lv_image_decoder_d lv_cache_entry_t * cache = lv_cache_add(decoded, 0, decoder->cache_data_type, decoded->data_size); if(cache == NULL) { lv_cache_unlock(); + lv_draw_buf_destroy(decoded); return LV_RESULT_INVALID; }