Index: src/bin/e_actions.c
===================================================================
--- src/bin/e_actions.c	(revision 80131)
+++ src/bin/e_actions.c	(working copy)
@@ -1463,8 +1463,9 @@
 
    if (!ev) return;  // with flip on _e_zone_cb_edge_timer we don't have ev!!!
    zone = _e_actions_zone_get(obj);
+   if (!zone) return;
    wev = E_NEW(E_Event_Pointer_Warp, 1);
-   if ((!wev) || (!zone)) return;
+   if (!wev) return;
    ecore_x_pointer_xy_get(zone->container->win, &x, &y);
    wev->prev.x = x;
    wev->prev.y = y;
Index: src/bin/e_configure.c
===================================================================
--- src/bin/e_configure.c	(revision 80131)
+++ src/bin/e_configure.c	(working copy)
@@ -333,14 +333,7 @@
    /* get desktops */
    settings_desktops = efreet_util_desktop_category_list("Settings");
    system_desktops = efreet_util_desktop_category_list("System");
-   if ((!settings_desktops) && (!system_desktops))
-     {
-        EINA_LIST_FREE(settings_desktops, desktop)
-          efreet_desktop_free(desktop);
-        EINA_LIST_FREE(system_desktops, desktop)
-          efreet_desktop_free(desktop);
-        return;
-     }
+   if ((!settings_desktops) && (!system_desktops)) return;
 
    /* get ones in BOTH lists */
    EINA_LIST_FOREACH(settings_desktops, l, desktop)
Index: src/bin/e_eap_editor.c
===================================================================
--- src/bin/e_eap_editor.c	(revision 80131)
+++ src/bin/e_eap_editor.c	(working copy)
@@ -409,6 +409,7 @@
              else
                buf[i] = '_';
           }
+        if (i >= PATH_MAX) i = PATH_MAX - 1;
         buf[i] = '\0';
      }
    else
Index: src/bin/e_fm.c
===================================================================
--- src/bin/e_fm.c	(revision 80131)
+++ src/bin/e_fm.c	(working copy)
@@ -2193,7 +2193,7 @@
      ic->thumb_failed = EINA_TRUE;
 
    /* create thumbnails for edje files */
-   if (_e_fm2_file_is_edje(ic->info.file))
+   if ((ic->info.file) && (_e_fm2_file_is_edje(ic->info.file)))
      {
         o = _e_fm2_icon_thumb_edje_get
             (evas, ic, gen_func, data, force_gen, type_ret);
@@ -4296,7 +4296,7 @@
    hostname[i] = '\0';
 
    /* See http://www.faqs.org/rfcs/rfc1738.html for the escaped chars */
-   for (i = 0; *p != '\0' && i < PATH_MAX; i++, p++)
+   for (i = 0; (*p != '\0') && (i < (PATH_MAX-1)); i++, p++)
      {
         if (*p == '%')
           {
Index: src/bin/e_fm_device.c
===================================================================
--- src/bin/e_fm_device.c	(revision 80131)
+++ src/bin/e_fm_device.c	(working copy)
@@ -465,6 +465,8 @@
    Eina_List *l;
    E_Volume *v;
 
+   if (!path) return NULL;
+
    EINA_LIST_FOREACH(_e_vols, l, v)
      {
         if (v->mounted
Index: src/bin/e_import_config_dialog.c
===================================================================
--- src/bin/e_import_config_dialog.c	(revision 80131)
+++ src/bin/e_import_config_dialog.c	(working copy)
@@ -31,7 +31,11 @@
    fstrip = ecore_file_strip_ext(file);
    if (!fstrip) return;
    len = e_user_dir_snprintf(buf, sizeof(buf), "backgrounds/%s.edj", fstrip);
-   if (len >= sizeof(buf)) return;
+   if (len >= sizeof(buf))
+     {
+        free(fstrip);
+        return;
+     }
    off = len - (sizeof(".edj") - 1);
    for (num = 1; ecore_file_exists(buf) && num < 100; num++)
      snprintf(buf + off, sizeof(buf) - off, "-%d.edj", num);
Index: src/bin/e_int_config_modules.c
===================================================================
--- src/bin/e_int_config_modules.c	(revision 80131)
+++ src/bin/e_int_config_modules.c	(working copy)
@@ -527,6 +527,7 @@
         if (!cft->modules_hash)
           {
              if (new_type) _cftype_free(cft);
+             _module_free(cfm);
              goto end_desktop;
           }
         eina_hash_direct_add(cft->modules_hash, cfm->short_name, cfm);
Index: src/bin/e_int_menus.c
===================================================================
--- src/bin/e_int_menus.c	(revision 80131)
+++ src/bin/e_int_menus.c	(working copy)
@@ -1184,6 +1184,7 @@
                   mi = e_menu_item_new(m);
                   e_menu_item_separator_set(mi, 1);
                }
+             if (class) free(class);
              class = strdup(bd->client.icccm.class);
           }
         if (e_config->clientlist_separate_with == E_CLIENTLIST_GROUP_SEP_MENU)
Index: src/bin/e_main.c
===================================================================
--- src/bin/e_main.c	(revision 80131)
+++ src/bin/e_main.c	(working copy)
@@ -1643,11 +1643,23 @@
         return 0;
      }
    TS("\tscreens: focus");
-   if (!e_focus_init()) return 0;
+   if (!e_focus_init())
+     {
+        free(roots);
+        return 0;
+     }
    TS("\tscreens: border");
-   if (!e_border_init()) return 0;
+   if (!e_border_init())
+     {
+        free(roots);
+        return 0;
+     }
    TS("\tscreens: win");
-   if (!e_win_init()) return 0;
+   if (!e_win_init())
+     {
+        free(roots);
+        return 0;
+     }
    TS("\tscreens: manage roots");
    for (i = 0; i < num; i++)
      {
Index: src/bin/e_shelf.c
===================================================================
--- src/bin/e_shelf.c	(revision 80131)
+++ src/bin/e_shelf.c	(working copy)
@@ -2580,7 +2580,9 @@
    _e_shelf_bindings_del(es);
 
    /* Don't need edge binding if we don't hide shelf */
-   if ((!es->cfg->autohide) && (!es->cfg->autohide_show_action)) return;
+   if ((es->cfg) && (!es->cfg->autohide) &&
+       (!es->cfg->autohide_show_action))
+     return;
 
    snprintf(buf, sizeof(buf), "shelf.%d", es->id);
    switch (es->gadcon->orient)
Index: src/bin/e_theme.c
===================================================================
--- src/bin/e_theme.c	(revision 80131)
+++ src/bin/e_theme.c	(working copy)
@@ -384,7 +384,7 @@
    /* search for the category */
    EINA_LIST_FOREACH(e_config->themes, next, ect)
      {
-        if (!strcmp(ect->category, category))
+        if ((ect->category) && (!strcmp(ect->category, category)))
           {
              e_config->themes = eina_list_remove_list(e_config->themes, next);
              if (ect->category) eina_stringshare_del(ect->category);
Index: src/bin/e_widget_ilist.c
===================================================================
--- src/bin/e_widget_ilist.c	(revision 80131)
+++ src/bin/e_widget_ilist.c	(working copy)
@@ -143,6 +143,10 @@
                                        _e_wid_cb_item_sel, _e_wid_cb_item_hilight, wd, wcb);
                     }
                }
+             else
+               {
+                  E_FREE(wcb);
+               }
              if (qi->icon) evas_object_show(qi->icon);
              if (qi->end) evas_object_show(qi->end);
           }
Index: src/modules/quickaccess/e_mod_quickaccess.c
===================================================================
--- src/modules/quickaccess/e_mod_quickaccess.c	(revision 80131)
+++ src/modules/quickaccess/e_mod_quickaccess.c	(working copy)
@@ -578,6 +578,7 @@
      {
         DBG("closed transient qa border: deleting keybind and entry");
         e_qa_entry_free(entry);
+        return ECORE_CALLBACK_RENEW;
      }
    else if (entry->config.relaunch) _e_qa_border_new(entry);
    entry->border = NULL;
Index: src/modules/tiling/e_mod_tiling.c
===================================================================
--- src/modules/tiling/e_mod_tiling.c	(revision 80131)
+++ src/modules/tiling/e_mod_tiling.c	(working copy)
@@ -3103,7 +3103,10 @@
 
                 trov->overlay.popup = e_popup_new(bd->zone, 0, 0, 1, 1);
                 if (!trov->overlay.popup)
-                    continue;
+                  {
+                     E_FREE(trov);
+                     continue;
+                  }
 
                 e_popup_layer_set(trov->overlay.popup, E_LAYER_NORMAL);
                 trov->overlay.obj = edje_object_add(trov->overlay.popup->evas);
