From: Carsten Haitzler (Rasterman) Date: Thu, 28 Sep 2017 03:29:46 +0000 (+0900) Subject: efl ui focus - fix coverity complaints about derfer before null check X-Git-Tag: submit/sandbox/upgrade/efl120/20180319.053334~2453 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=1dcac1853df5757ff360fb0e5adee7bb96bfd8eb;p=platform%2Fupstream%2Fefl.git efl ui focus - fix coverity complaints about derfer before null check indeed there was a child cnull check after dereferencing the child... so check completely. fix CID 1379925 --- diff --git a/src/lib/elementary/efl_ui_focus_manager_calc.c b/src/lib/elementary/efl_ui_focus_manager_calc.c index 9f5b36d..50323dd 100644 --- a/src/lib/elementary/efl_ui_focus_manager_calc.c +++ b/src/lib/elementary/efl_ui_focus_manager_calc.c @@ -1477,13 +1477,16 @@ _efl_ui_focus_manager_calc_efl_ui_focus_manager_logical_end(Eo *obj EINA_UNUSED, //we need to return the most lower right element - while(T(child).children && !child->redirect_manager) + while ((child) && (T(child).children) && (!child->redirect_manager)) child = eina_list_last_data_get(T(child).children); - while (child->type != NODE_TYPE_NORMAL && !child->redirect_manager) + while ((child) && (child->type != NODE_TYPE_NORMAL) && (!child->redirect_manager)) child = _prev(child); - ret.is_regular_end = child->type == NODE_TYPE_NORMAL; - ret.element = child ? child->focusable : NULL; + if (child) + { + ret.is_regular_end = child->type == NODE_TYPE_NORMAL; + ret.element = child ? child->focusable : NULL; + } return ret; }