elm prefs - fix leak if setup_err/set_err happens in elm prefs
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>
Thu, 9 Jan 2014 07:03:39 +0000 (16:03 +0900)
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>
Thu, 9 Jan 2014 07:03:39 +0000 (16:03 +0900)
fixes CID 1040006

src/lib/elm_prefs_data.c

index 1d4548f..6583c14 100644 (file)
@@ -300,6 +300,7 @@ _eet_data_load(Elm_Prefs_Data *prefs_data,
              ERR("bad item (type = %d) fetched from data file %s, skipping it",
                  it->type, prefs_data->data_file);
              free(item);
+             item = NULL;
              skip = EINA_TRUE;
              break;
           }
@@ -310,6 +311,8 @@ _eet_data_load(Elm_Prefs_Data *prefs_data,
              skip = EINA_TRUE;
 
              if (set_err) eina_value_flush(&(item->value));
+             free(item);
+             item = NULL;
           }
 
         if (!skip) eina_hash_set(map, it->name, item);