From 8dc5015ae036b219c4c9579a156886aa3a722aa5 Mon Sep 17 00:00:00 2001 From: phantomjinx Date: Sat, 9 Aug 2014 19:57:10 +0100 Subject: [PATCH 2/3] #323 Segmentation fault when opening ipod MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Patch submitted in bug report from François Melchior / James Burton --- src/itdb_itunesdb.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/itdb_itunesdb.c b/src/itdb_itunesdb.c index 4cc771a..1e85476 100644 --- a/src/itdb_itunesdb.c +++ b/src/itdb_itunesdb.c @@ -1156,6 +1156,7 @@ static gboolean playcounts_plist_read (FImport *fimp, GValue *plist_data) GHashTable *pc_dict, *track_dict; GValue *to_parse; GArray *array; + GValue value; gint i; guint32 mac_time; guint64 *dbid; @@ -1175,11 +1176,12 @@ static gboolean playcounts_plist_read (FImport *fimp, GValue *plist_data) array = (GArray*)g_value_get_boxed (to_parse); for (i = 0; i < array->len; i++) { - if (!G_VALUE_HOLDS (g_array_index (array, GValue *, i), G_TYPE_HASH_TABLE)) { + value = g_array_index (array, GValue, i); + if (!G_VALUE_HOLDS (&value, G_TYPE_HASH_TABLE)) { continue; } - track_dict = g_value_get_boxed (g_array_index (array, GValue *, i)); + track_dict = g_value_get_boxed (&value); if (track_dict == NULL) continue; -- 2.1.4