From ea61755d98c2114fc85cfa8780221a7803961f64 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Tue, 18 Sep 2012 11:42:44 +0000 Subject: [PATCH] fix a bunch of questionably valid null derefs from clang SVN revision: 76807 --- src/bin/e_fm_device.c | 6 +++--- src/bin/e_gadcon.c | 2 +- src/bin/e_randr_12_serialization.c | 3 ++- src/modules/conf_display/e_int_config_desklock.c | 6 +++--- src/modules/quickaccess/e_mod_quickaccess.c | 2 +- src/modules/tiling/e_mod_config.c | 2 +- 6 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/bin/e_fm_device.c b/src/bin/e_fm_device.c index 5da639411..84fc6050c 100644 --- a/src/bin/e_fm_device.c +++ b/src/bin/e_fm_device.c @@ -33,21 +33,21 @@ _e_fm2_device_volume_setup(E_Volume *v) else if (((v->storage->vendor) && (v->storage->vendor[0])) && ((v->storage->model) && (v->storage->model[0]))) { - if (size[0] != '\0') + if (size && (size[0] != '\0')) snprintf(label, sizeof(label) - 1, _("%s %s—%s"), v->storage->vendor, v->storage->model, size); else snprintf(label, sizeof(label) - 1, "%s %s", v->storage->vendor, v->storage->model); } else if ((v->storage->model) && (v->storage->model[0])) { - if (size[0] != '\0') + if (size && (size[0] != '\0')) snprintf(label, sizeof(label) - 1, _("%s—%s"), v->storage->model, size); else snprintf(label, sizeof(label) - 1, "%s", v->storage->model); } else if ((v->storage->vendor) && (v->storage->vendor[0])) { - if (size[0] != '\0') + if (size && (size[0] != '\0')) snprintf(label, sizeof(label) - 1, _("%s—%s"), v->storage->vendor, size); else snprintf(label, sizeof(label) - 1, "%s", v->storage->vendor); diff --git a/src/bin/e_gadcon.c b/src/bin/e_gadcon.c index 7c1d7c2f2..b7b79e962 100644 --- a/src/bin/e_gadcon.c +++ b/src/bin/e_gadcon.c @@ -3037,7 +3037,7 @@ _e_gadcon_client_cb_menu_post(void *data, E_Menu *m __UNUSED__) if (!(gcc = data)) return; if (gcc->gadcon) e_gadcon_locked_set(gcc->gadcon, 0); if (!gcc->menu) return; - if (gcc->gadcon->shelf && (gcc->menu == gcc->gadcon->shelf->menu)) gcc->gadcon->shelf->menu = NULL; + if (gcc->gadcon && gcc->gadcon->shelf && (gcc->menu == gcc->gadcon->shelf->menu)) gcc->gadcon->shelf->menu = NULL; e_object_del(E_OBJECT(gcc->menu)); gcc->menu = NULL; } diff --git a/src/bin/e_randr_12_serialization.c b/src/bin/e_randr_12_serialization.c index 78e9d61e7..61cb54ac2 100644 --- a/src/bin/e_randr_12_serialization.c +++ b/src/bin/e_randr_12_serialization.c @@ -449,7 +449,8 @@ _12_try_restore_configuration(void) } // DEBUG - DBG("E_RANDR: \tRestoring CRTC %d (index %d) in mode %s.", ci->xid, sc->index, (mode == Ecore_X_Randr_None) ? "(disabled)" : mi->name); + if (mi) + DBG("E_RANDR: \tRestoring CRTC %d (index %d) in mode %s.", ci->xid, sc->index, (mode == Ecore_X_Randr_None) ? "(disabled)" : mi->name); DBG("E_RANDR: \t\tUsed outputs:"); EINA_LIST_FOREACH(outputs_list, outputs_iter, output_info) DBG("\t\t%s", output_info->name); diff --git a/src/modules/conf_display/e_int_config_desklock.c b/src/modules/conf_display/e_int_config_desklock.c index 5411568dd..ea54b2be4 100644 --- a/src/modules/conf_display/e_int_config_desklock.c +++ b/src/modules/conf_display/e_int_config_desklock.c @@ -119,11 +119,11 @@ _fill_data(E_Config_Dialog_Data *cfdata) for (x = 0; x < cfdata->zone_count; x++) cfdata->bgs = eina_list_append(cfdata->bgs, eina_stringshare_add("theme_desklock_background")); - if (!e_util_strcmp(cfdata->bgs->data, "theme_desklock_background")) + if (!e_util_strcmp(eina_list_data_get(cfdata->bgs), "theme_desklock_background")) cfdata->bg_method = E_DESKLOCK_BACKGROUND_METHOD_THEME_DESKLOCK; - else if (!e_util_strcmp(cfdata->bgs->data, "theme_background")) + else if (!e_util_strcmp(eina_list_data_get(cfdata->bgs), "theme_background")) cfdata->bg_method = E_DESKLOCK_BACKGROUND_METHOD_THEME; - else if (!e_util_strcmp(cfdata->bgs->data, "user_background")) + else if (!e_util_strcmp(eina_list_data_get(cfdata->bgs), "user_background")) cfdata->bg_method = E_DESKLOCK_BACKGROUND_METHOD_WALLPAPER; else cfdata->bg_method = E_DESKLOCK_BACKGROUND_METHOD_CUSTOM; diff --git a/src/modules/quickaccess/e_mod_quickaccess.c b/src/modules/quickaccess/e_mod_quickaccess.c index 20c4e82c0..7e1410174 100644 --- a/src/modules/quickaccess/e_mod_quickaccess.c +++ b/src/modules/quickaccess/e_mod_quickaccess.c @@ -1113,7 +1113,7 @@ _e_qa_help_timer_helper(void) else /* someone's messing with the menu. joke's on them, we can dance all day */ qa_mod->demo_state = 0; - } while (mi->separator); + } while (mi && mi->separator); return EINA_TRUE; } diff --git a/src/modules/tiling/e_mod_config.c b/src/modules/tiling/e_mod_config.c index 22f61b8c2..89c31be37 100644 --- a/src/modules/tiling/e_mod_config.c +++ b/src/modules/tiling/e_mod_config.c @@ -219,7 +219,7 @@ _basic_create_widgets(E_Config_Dialog *cfd __UNUSED__, /* List of individual tiling modes */ cfdata->evas = evas; - _fill_zone_config(con->zones->data, cfdata); + _fill_zone_config(eina_list_data_get(con->zones), cfdata); e_widget_ilist_selected_set(cfdata->o_zonelist, 0);