diff options
author | WooHyun Jung <wh0705.jung@samsung.com> | 2020-04-13 10:39:34 +0900 |
---|---|---|
committer | WooHyun Jung <wh0705.jung@samsung.com> | 2020-04-13 10:39:34 +0900 |
commit | de943b82aabab0db8056152392502372e5587e6b (patch) | |
tree | eee5e84047c8a5d06953ab61025617912c0b6115 | |
parent | 7ef5b60411fac4b1ce30cf5b1e8f0cd3fe48e0ee (diff) | |
download | efl-de943b82aabab0db8056152392502372e5587e6b.tar.gz |
edje_calc: add null check after eet_read
-rw-r--r-- | src/lib/edje/edje_calc.c | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/src/lib/edje/edje_calc.c b/src/lib/edje/edje_calc.c index 1a88b23d0e..2af4934ce9 100644 --- a/src/lib/edje/edje_calc.c +++ b/src/lib/edje/edje_calc.c @@ -3239,19 +3239,22 @@ _edje_vector_load_lottie(Edje *ed, Edje_Real_Part *ep, const char *key) if (ep->typedata.vector->current_id != desc->vg.id) { lottie_data = (char *)eet_read(ed->file->ef, key, &lottie_data_len); - lottie_data[lottie_data_len] = '\0'; - file = eina_file_virtualize(NULL, lottie_data, lottie_data_len + 1, EINA_FALSE); - efl_file_simple_mmap_load(ep->object, file, NULL); + if (lottie_data) + { + lottie_data[lottie_data_len] = '\0'; + file = eina_file_virtualize(NULL, lottie_data, lottie_data_len + 1, EINA_FALSE); + efl_file_simple_mmap_load(ep->object, file, NULL); - if (ep->typedata.vector->lottie_virtual_file) - eina_file_close(ep->typedata.vector->lottie_virtual_file); - ep->typedata.vector->lottie_virtual_file = file; + if (ep->typedata.vector->lottie_virtual_file) + eina_file_close(ep->typedata.vector->lottie_virtual_file); + ep->typedata.vector->lottie_virtual_file = file; - if (ep->typedata.vector->lottie_data) - free(ep->typedata.vector->lottie_data); - ep->typedata.vector->lottie_data = lottie_data; + if (ep->typedata.vector->lottie_data) + free(ep->typedata.vector->lottie_data); + ep->typedata.vector->lottie_data = lottie_data; - ep->typedata.vector->current_id = desc->vg.id; + ep->typedata.vector->current_id = desc->vg.id; + } } frame_duration = efl_gfx_frame_controller_frame_duration_get(ep->object, 0, 0); |