summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWooHyun Jung <wh0705.jung@samsung.com>2020-04-13 10:39:34 +0900
committerWooHyun Jung <wh0705.jung@samsung.com>2020-04-13 10:39:34 +0900
commitde943b82aabab0db8056152392502372e5587e6b (patch)
treeeee5e84047c8a5d06953ab61025617912c0b6115
parent7ef5b60411fac4b1ce30cf5b1e8f0cd3fe48e0ee (diff)
downloadefl-de943b82aabab0db8056152392502372e5587e6b.tar.gz
edje_calc: add null check after eet_read
-rw-r--r--src/lib/edje/edje_calc.c23
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);