1b986ba
--- a/src/itdb_itunesdb.c
1b986ba
+++ b/src/itdb_itunesdb.c
1b986ba
@@ -1156,6 +1156,7 @@
1b986ba
     GHashTable *pc_dict, *track_dict;
1b986ba
     GValue *to_parse;
1b986ba
     GArray *array;
1b986ba
+    GValue value;
1b986ba
     gint i;
1b986ba
     guint32 mac_time;
1b986ba
     guint64 *dbid;
1b986ba
@@ -1175,11 +1176,12 @@
1b986ba
 
1b986ba
     array = (GArray*)g_value_get_boxed (to_parse);
1b986ba
     for (i = 0; i < array->len; i++) {
1b986ba
-       if (!G_VALUE_HOLDS (g_array_index (array, GValue *, i), G_TYPE_HASH_TABLE)) {
1b986ba
+       value = g_array_index (array, GValue, i);
1b986ba
+       if (!G_VALUE_HOLDS (&value, G_TYPE_HASH_TABLE)) {
1b986ba
           continue;
1b986ba
        }
1b986ba
 
1b986ba
-       track_dict = g_value_get_boxed (g_array_index (array, GValue *, i));
1b986ba
+       track_dict = g_value_get_boxed (&value);
1b986ba
        if (track_dict == NULL)
1b986ba
            continue;