31 lines
1.1 KiB
Text
31 lines
1.1 KiB
Text
From 8dc5015ae036b219c4c9579a156886aa3a722aa5 Mon Sep 17 00:00:00 2001
|
|
From: phantomjinx <p.g.richardson@phantomjinx.co.uk>
|
|
Date: Sat, 9 Aug 2014 19:57:10 +0100
|
|
Subject: [PATCH] #323 Segmentation fault when opening ipod
|
|
|
|
Index: src/itdb_itunesdb.c
|
|
--- src/itdb_itunesdb.c.orig
|
|
+++ src/itdb_itunesdb.c
|
|
@@ -1156,6 +1156,7 @@ static gboolean playcounts_plist_read (FImport *fimp,
|
|
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,
|
|
|
|
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;
|
|
|