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