From 8403e306f17c31022972d6af239804e734bc5ec8 Mon Sep 17 00:00:00 2001 From: Joogab Yun Date: Thu, 3 Aug 2017 10:30:41 +0900 Subject: [PATCH] [evas_tbmbuf] fixed svace issue Change-Id: I2f14be953cb0321ac777e85c720cd7a1011ab69c --- src/modules/evas/engines/wayland_shm/evas_tbmbuf.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/modules/evas/engines/wayland_shm/evas_tbmbuf.c b/src/modules/evas/engines/wayland_shm/evas_tbmbuf.c index 8a84279..291e43c 100644 --- a/src/modules/evas/engines/wayland_shm/evas_tbmbuf.c +++ b/src/modules/evas/engines/wayland_shm/evas_tbmbuf.c @@ -405,14 +405,16 @@ _evas_tbmbuf_surface_assign(Surface *s) // check buffer age if (!sym_tbm_surface_internal_get_user_data(surface->tbm_surface, KEY_SURFACE_INFO, (void**)&tbuf_info)) { tbuf_info = calloc(1, sizeof(tbm_buffer_info)); - tbuf_info->age = 0; - tbuf_info->num_surface = num_surface; + if (tbuf_info) { + tbuf_info->age = 0; + tbuf_info->num_surface = num_surface; + } sym_tbm_surface_internal_add_user_data(surface->tbm_surface, KEY_SURFACE_INFO, free); sym_tbm_surface_internal_set_user_data(surface->tbm_surface, KEY_SURFACE_INFO, tbuf_info); } //reset - if ((unsigned int)num_surface != tbuf_info->num_surface) + if (tbuf_info && (unsigned int)num_surface != tbuf_info->num_surface) { s->frame_age = 0; @@ -425,10 +427,10 @@ _evas_tbmbuf_surface_assign(Surface *s) } } - if (!tbuf_info->age) + if (!tbuf_info || !tbuf_info->age) return MODE_FULL; - if (tbuf_info->age < s->frame_age) + if (tbuf_info && tbuf_info->age < s->frame_age) { unsigned int diff; diff = s->frame_age - tbuf_info->age + 1; -- 2.7.4