e_info_server: check ec NULL before use 25/244425/2 accepted/tizen/unified/20200922.090900 submit/tizen/20200922.031556
authorJunkyeong Kim <jk0430.kim@samsung.com>
Fri, 18 Sep 2020 09:20:23 +0000 (18:20 +0900)
committerSung-Jin Park <sj76.park@samsung.com>
Tue, 22 Sep 2020 03:24:53 +0000 (03:24 +0000)
Change-Id: I637abea2c4e1d3c731bdc2febca9b7f860487bf0
Signed-off-by: Junkyeong Kim <jk0430.kim@samsung.com>
src/bin/e_info_server.c

index 314144c..55b46c3 100644 (file)
@@ -1113,6 +1113,7 @@ _get_win_prop_Rotation(const Evas_Object *evas_obj)
    int i, count;
 
    ec = evas_object_data_get(evas_obj, "E_Client");
+   EINA_SAFETY_ON_NULL_RETURN_VAL(ec, NULL);
    count = ec->e.state.rot.count;
 
    astrcat_(&str, "Support(%d) Type(%s)\n", ec->e.state.rot.support,
@@ -1228,6 +1229,7 @@ _get_win_prop_Subsurface_Below_Child_List(const Evas_Object *evas_obj)
    const E_Client *child;
 
    ec = evas_object_data_get(evas_obj, "E_Client");
+   EINA_SAFETY_ON_NULL_RETURN_VAL(ec, NULL);
 
    if (!ec->comp_data)
      return strdup("None");
@@ -1260,6 +1262,7 @@ _get_win_prop_Subsurface_Child_List(const Evas_Object *evas_obj)
    const E_Client *child;
 
    ec = evas_object_data_get(evas_obj, "E_Client");
+   EINA_SAFETY_ON_NULL_RETURN_VAL(ec, NULL);
 
    if (!ec->comp_data)
      return strdup("None");
@@ -1288,6 +1291,7 @@ _get_win_prop_Subsurface_Parent(const Evas_Object *evas_obj)
    char *str = NULL;
 
    ec = evas_object_data_get(evas_obj, "E_Client");
+   EINA_SAFETY_ON_NULL_RETURN_VAL(ec, NULL);
 
    if (!ec->comp_data)
      return strdup("None");
@@ -1311,6 +1315,7 @@ _get_win_prop_Aux_Hint(const Evas_Object *evas_obj)
    char *str = NULL;
 
    ec = evas_object_data_get(evas_obj, "E_Client");
+   EINA_SAFETY_ON_NULL_RETURN_VAL(ec, NULL);
 
    if (!ec->comp_data)
      return strdup("None");
@@ -1337,6 +1342,7 @@ _get_win_prop_Video_Client(const Evas_Object *evas_obj)
    char *str = NULL;
 
    ec = evas_object_data_get(evas_obj, "E_Client");
+   EINA_SAFETY_ON_NULL_RETURN_VAL(ec, NULL);
 
    if (asprintf(&str, "%d", ec->comp_data ? (ec->comp_data->video_client || e_client_video_hw_composition_check((E_Client *)ec)) : 0) < 0)
      return NULL;
@@ -1351,6 +1357,7 @@ _get_win_prop_Ignore_first_unmap(const Evas_Object *evas_obj)
    char *str = NULL;
 
    ec = evas_object_data_get(evas_obj, "E_Client");
+   EINA_SAFETY_ON_NULL_RETURN_VAL(ec, NULL);
 
    if (asprintf(&str, "%c", ec->ignore_first_unmap) < 0)
      return NULL;
@@ -1362,6 +1369,7 @@ static const char*
 _get_win_prop_Transformed(const Evas_Object *evas_obj)
 {
    const E_Client *ec = evas_object_data_get(evas_obj, "E_Client");
+   EINA_SAFETY_ON_NULL_RETURN_VAL(ec, NULL);
 
    return ec->transformed ? strdup("TRUE") : strdup("FALSE");
 }
@@ -1370,6 +1378,7 @@ static const char*
 _get_win_prop_Maximize_override(const Evas_Object *evas_obj)
 {
    const E_Client *ec = evas_object_data_get(evas_obj, "E_Client");
+   EINA_SAFETY_ON_NULL_RETURN_VAL(ec, NULL);
 
    return ec->maximize_override ? strdup("TRUE") : strdup("FALSE");
 }
@@ -1378,6 +1387,7 @@ static const char*
 _get_win_prop_No_shape_cut(const Evas_Object *evas_obj)
 {
    const E_Client *ec = evas_object_data_get(evas_obj, "E_Client");
+   EINA_SAFETY_ON_NULL_RETURN_VAL(ec, NULL);
 
    return ec->no_shape_cut ? strdup("TRUE") : strdup("FALSE");
 }
@@ -1401,6 +1411,7 @@ static const char*
 _get_win_prop_Ignored(const Evas_Object *evas_obj)
 {
    const E_Client *ec = evas_object_data_get(evas_obj, "E_Client");
+   EINA_SAFETY_ON_NULL_RETURN_VAL(ec, NULL);
 
    return ec->ignored ? strdup("TRUE") : strdup("FALSE");
 }
@@ -1409,6 +1420,7 @@ static const char*
 _get_win_prop_Layer_block(const Evas_Object *evas_obj)
 {
    const E_Client *ec = evas_object_data_get(evas_obj, "E_Client");
+   EINA_SAFETY_ON_NULL_RETURN_VAL(ec, NULL);
 
    return ec->layer_block ? strdup("TRUE") : strdup("FALSE");
 }
@@ -1417,6 +1429,7 @@ static const char*
 _get_win_prop_Shape_changed(const Evas_Object *evas_obj)
 {
    const E_Client *ec = evas_object_data_get(evas_obj, "E_Client");
+   EINA_SAFETY_ON_NULL_RETURN_VAL(ec, NULL);
 
    return ec->shape_changed ? strdup("TRUE") : strdup("FALSE");
 }
@@ -1425,6 +1438,7 @@ static const char*
 _get_win_prop_Unredirected_single(const Evas_Object *evas_obj)
 {
    const E_Client *ec = evas_object_data_get(evas_obj, "E_Client");
+   EINA_SAFETY_ON_NULL_RETURN_VAL(ec, NULL);
 
    return ec->unredirected_single ? strdup("TRUE") : strdup("FALSE");
 }
@@ -1448,6 +1462,7 @@ static const char*
 _get_win_prop_Redirected(const Evas_Object *evas_obj)
 {
    const E_Client *ec = evas_object_data_get(evas_obj, "E_Client");
+   EINA_SAFETY_ON_NULL_RETURN_VAL(ec, NULL);
 
    return ec->redirected ? strdup("TRUE") : strdup("FALSE");
 }
@@ -1456,6 +1471,7 @@ static const char*
 _get_win_prop_Tooltip(const Evas_Object *evas_obj)
 {
    const E_Client *ec = evas_object_data_get(evas_obj, "E_Client");
+   EINA_SAFETY_ON_NULL_RETURN_VAL(ec, NULL);
 
    return ec->tooltip ? strdup("TRUE") : strdup("FALSE");
 }
@@ -1464,6 +1480,7 @@ static const char*
 _get_win_prop_Dialog(const Evas_Object *evas_obj)
 {
    const E_Client *ec = evas_object_data_get(evas_obj, "E_Client");
+   EINA_SAFETY_ON_NULL_RETURN_VAL(ec, NULL);
 
    return ec->dialog ? strdup("TRUE") : strdup("FALSE");
 }
@@ -1472,6 +1489,7 @@ static const char*
 _get_win_prop_Input_only(const Evas_Object *evas_obj)
 {
    const E_Client *ec = evas_object_data_get(evas_obj, "E_Client");
+   EINA_SAFETY_ON_NULL_RETURN_VAL(ec, NULL);
 
    return ec->input_only ? strdup("TRUE") : strdup("FALSE");
 }
@@ -1480,6 +1498,7 @@ static const char*
 _get_win_prop_Override(const Evas_Object *evas_obj)
 {
    const E_Client *ec = evas_object_data_get(evas_obj, "E_Client");
+   EINA_SAFETY_ON_NULL_RETURN_VAL(ec, NULL);
 
    return ec->override ? strdup("TRUE") : strdup("FALSE");
 }
@@ -1491,6 +1510,7 @@ _get_win_prop_E_Transient_Policy(const Evas_Object *evas_obj)
    char *str = NULL;
 
    ec = evas_object_data_get(evas_obj, "E_Client");
+   EINA_SAFETY_ON_NULL_RETURN_VAL(ec, NULL);
 
    if (asprintf(&str, "%d", ec->transient_policy) < 0)
      return NULL;
@@ -1505,6 +1525,7 @@ _get_win_prop_E_FullScreen_Policy(const Evas_Object *evas_obj)
    char *str = NULL;
 
    ec = evas_object_data_get(evas_obj, "E_Client");
+   EINA_SAFETY_ON_NULL_RETURN_VAL(ec, NULL);
 
    if (asprintf(&str, "%d", ec->fullscreen_policy) < 0)
      return NULL;
@@ -1519,6 +1540,7 @@ _get_win_prop_E_Maximize_Policy(const Evas_Object *evas_obj)
    char *str = NULL;
 
    ec = evas_object_data_get(evas_obj, "E_Client");
+   EINA_SAFETY_ON_NULL_RETURN_VAL(ec, NULL);
 
    if (asprintf(&str, "0x%x", ec->maximized) < 0)
      return NULL;
@@ -1530,6 +1552,7 @@ static const char*
 _get_win_prop_Accept_focus(const Evas_Object *evas_obj)
 {
    const E_Client *ec = evas_object_data_get(evas_obj, "E_Client");
+   EINA_SAFETY_ON_NULL_RETURN_VAL(ec, NULL);
 
    return ec->icccm.accepts_focus ? strdup("TRUE") : strdup("FALSE");
 }
@@ -1538,6 +1561,7 @@ static const char*
 _get_win_prop_Want_focus(const Evas_Object *evas_obj)
 {
    const E_Client *ec = evas_object_data_get(evas_obj, "E_Client");
+   EINA_SAFETY_ON_NULL_RETURN_VAL(ec, NULL);
 
    return ec->want_focus ? strdup("TRUE") : strdup("FALSE");
 }
@@ -1546,6 +1570,7 @@ static const char*
 _get_win_prop_Take_focus(const Evas_Object *evas_obj)
 {
    const E_Client *ec = evas_object_data_get(evas_obj, "E_Client");
+   EINA_SAFETY_ON_NULL_RETURN_VAL(ec, NULL);
 
    return ec->take_focus ? strdup("TRUE") : strdup("FALSE");
 }
@@ -1554,6 +1579,7 @@ static const char*
 _get_win_prop_Re_manage(const Evas_Object *evas_obj)
 {
    const E_Client *ec = evas_object_data_get(evas_obj, "E_Client");
+   EINA_SAFETY_ON_NULL_RETURN_VAL(ec, NULL);
 
    return ec->re_manage ? strdup("TRUE") : strdup("FALSE");
 }
@@ -1577,6 +1603,7 @@ static const char*
 _get_win_prop_Fullscreen(const Evas_Object *evas_obj)
 {
    const E_Client *ec = evas_object_data_get(evas_obj, "E_Client");
+   EINA_SAFETY_ON_NULL_RETURN_VAL(ec, NULL);
 
    return ec->fullscreen ? strdup("TRUE") : strdup("FALSE");
 }
@@ -1600,6 +1627,7 @@ static const char*
 _get_win_prop_Urgent(const Evas_Object *evas_obj)
 {
    const E_Client *ec = evas_object_data_get(evas_obj, "E_Client");
+   EINA_SAFETY_ON_NULL_RETURN_VAL(ec, NULL);
 
    return ec->urgent ? strdup("TRUE") : strdup("FALSE");
 }
@@ -1623,6 +1651,7 @@ static const char*
 _get_win_prop_Sticky(const Evas_Object *evas_obj)
 {
    const E_Client *ec = evas_object_data_get(evas_obj, "E_Client");
+   EINA_SAFETY_ON_NULL_RETURN_VAL(ec, NULL);
 
    return ec->sticky ? strdup("TRUE") : strdup("FALSE");
 }
@@ -1631,6 +1660,7 @@ static const char*
 _set_win_prop_Iconic(Evas_Object *evas_obj, const char *prop_value)
 {
    E_Client *ec = evas_object_data_get(evas_obj, "E_Client");
+   EINA_SAFETY_ON_NULL_RETURN_VAL(ec, NULL);
 
    if(strstr(prop_value, "TRUE"))
      e_client_iconify(ec);
@@ -1646,6 +1676,7 @@ static const char*
 _get_win_prop_Iconic(const Evas_Object *evas_obj)
 {
    const E_Client *ec = evas_object_data_get(evas_obj, "E_Client");
+   EINA_SAFETY_ON_NULL_RETURN_VAL(ec, NULL);
 
    return ec->iconic ? strdup("TRUE") : strdup("FALSE");
 }
@@ -1654,6 +1685,7 @@ static const char*
 _set_win_prop_Focused(Evas_Object *evas_obj, const char *prop_value)
 {
    E_Client *ec = evas_object_data_get(evas_obj, "E_Client");
+   EINA_SAFETY_ON_NULL_RETURN_VAL(ec, NULL);
 
    if(strstr(prop_value, "TRUE"))
      ec->focused = 1;
@@ -1669,6 +1701,7 @@ static const char*
 _get_win_prop_Focused(const Evas_Object *evas_obj)
 {
    const E_Client *ec = evas_object_data_get(evas_obj, "E_Client");
+   EINA_SAFETY_ON_NULL_RETURN_VAL(ec, NULL);
 
    return ec->focused ? strdup("TRUE") : strdup("FALSE");
 }
@@ -1677,6 +1710,7 @@ static const char*
 _get_win_prop_Moving(const Evas_Object *evas_obj)
 {
    const E_Client *ec = evas_object_data_get(evas_obj, "E_Client");
+   EINA_SAFETY_ON_NULL_RETURN_VAL(ec, NULL);
 
    return ec->moving ? strdup("TRUE") : strdup("FALSE");
 }
@@ -1698,6 +1732,7 @@ static const char*
 _get_win_prop_Hidden(const Evas_Object *evas_obj)
 {
    const E_Client *ec = evas_object_data_get(evas_obj, "E_Client");
+   EINA_SAFETY_ON_NULL_RETURN_VAL(ec, NULL);
 
    return ec->hidden ? strdup("TRUE") : strdup("FALSE");
 }
@@ -1706,6 +1741,7 @@ static const char*
 _get_win_prop_32bit(const Evas_Object *evas_obj)
 {
    const E_Client *ec = evas_object_data_get(evas_obj, "E_Client");
+   EINA_SAFETY_ON_NULL_RETURN_VAL(ec, NULL);
 
    return ec->argb ? strdup("TRUE") : strdup("FALSE");
 }
@@ -1714,6 +1750,7 @@ static const char*
 _set_win_prop_Visible(Evas_Object *evas_obj, const char *prop_value)
 {
    E_Client *ec = evas_object_data_get(evas_obj, "E_Client");
+   EINA_SAFETY_ON_NULL_RETURN_VAL(ec, NULL);
 
    if(strstr(prop_value, "TRUE"))
      ec->visible = 1;
@@ -1729,6 +1766,7 @@ static const char*
 _get_win_prop_Visible(const Evas_Object *evas_obj)
 {
    const E_Client *ec = evas_object_data_get(evas_obj, "E_Client");
+   EINA_SAFETY_ON_NULL_RETURN_VAL(ec, NULL);
 
    return ec->visible ? strdup("TRUE") : strdup("FALSE");
 }
@@ -1790,6 +1828,7 @@ _set_win_prop_Layer(Evas_Object *evas_obj, const char *prop_value)
 {
    E_Client *ec = evas_object_data_get(evas_obj, "E_Client");
    int layer_idx;
+   EINA_SAFETY_ON_NULL_RETURN_VAL(ec, NULL);
 
    layer_idx = _e_comp_layer_idx_get(prop_value);
    if (layer_idx == (E_LAYER_MAX + 1))
@@ -1809,6 +1848,7 @@ _get_win_prop_Layer(const Evas_Object *evas_obj)
    char layer_name[48] = {0,};
 
    ec = evas_object_data_get(evas_obj, "E_Client");
+   EINA_SAFETY_ON_NULL_RETURN_VAL(ec, NULL);
    e_comp_layer_name_get(ec->layer, layer_name, sizeof(layer_name));
 
    if (asprintf(&str, "[%d, %s]", ec->layer, layer_name) < 0)
@@ -1825,6 +1865,7 @@ _get_win_prop_Shape_input(const Evas_Object *evas_obj)
    int i = 0;
 
    ec = evas_object_data_get(evas_obj, "E_Client");
+   EINA_SAFETY_ON_NULL_RETURN_VAL(ec, NULL);
 
    if (!ec->shape_input_rects || ec->shape_input_rects_num <= 0)
      return strdup("None");
@@ -1848,6 +1889,7 @@ _get_win_prop_Shape_rects(const Evas_Object *evas_obj)
    int i = 0;
 
    ec = evas_object_data_get(evas_obj, "E_Client");
+   EINA_SAFETY_ON_NULL_RETURN_VAL(ec, NULL);
 
    if (!ec->shape_rects || ec->shape_rects_num <= 0)
      return strdup("None");
@@ -1873,6 +1915,7 @@ _get_win_prop_Transients(const Evas_Object *evas_obj)
    const Eina_List *l;
 
    ec = evas_object_data_get(evas_obj, "E_Client");
+   EINA_SAFETY_ON_NULL_RETURN_VAL(ec, NULL);
 
    if (!ec->transients)
      return strdup("None");
@@ -1894,6 +1937,7 @@ _get_win_prop_ParentWindowID(const Evas_Object *evas_obj)
    char *str = NULL;
 
    ec = evas_object_data_get(evas_obj, "E_Client");
+   EINA_SAFETY_ON_NULL_RETURN_VAL(ec, NULL);
 
    if (!ec->parent)
      return strdup("None");
@@ -1932,6 +1976,7 @@ _get_win_prop_Geometry(const Evas_Object *evas_obj)
    char *str = NULL;
 
    ec = evas_object_data_get(evas_obj, "E_Client");
+   EINA_SAFETY_ON_NULL_RETURN_VAL(ec, NULL);
 
    if (asprintf(&str, "[%d, %d %dx%d]", ec->x, ec->y, ec->w, ec->h) < 0)
      return NULL;
@@ -1956,6 +2001,7 @@ _get_win_prop_Role(const Evas_Object *evas_obj)
    char *str = NULL;
 
    ec = evas_object_data_get(evas_obj, "E_Client");
+   EINA_SAFETY_ON_NULL_RETURN_VAL(ec, NULL);
 
    if (asprintf(&str, "%s", ec->icccm.window_role ?: "NO ROLE") < 0)
      return NULL;
@@ -1967,6 +2013,7 @@ static const char*
 _set_win_prop_Window_Name(Evas_Object *evas_obj, const char *prop_value)
 {
    E_Client *ec = evas_object_data_get(evas_obj, "E_Client");
+   EINA_SAFETY_ON_NULL_RETURN_VAL(ec, NULL);
 
    /* TODO: I ain't sure it's a proper order */
    if (ec->netwm.name)