diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
commit | 4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch) | |
tree | ba5f07bf3f9d22d82e54a462313f5d244036c768 /media-libs/libgpod/files/libgpod-0.8.3-segfault.patch |
reinit the tree, so we can have metadata
Diffstat (limited to 'media-libs/libgpod/files/libgpod-0.8.3-segfault.patch')
-rw-r--r-- | media-libs/libgpod/files/libgpod-0.8.3-segfault.patch | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/media-libs/libgpod/files/libgpod-0.8.3-segfault.patch b/media-libs/libgpod/files/libgpod-0.8.3-segfault.patch new file mode 100644 index 000000000000..555188149f8b --- /dev/null +++ b/media-libs/libgpod/files/libgpod-0.8.3-segfault.patch @@ -0,0 +1,28 @@ +# Patch from James Burton - https://github.com/jburton/libgpod/commit/342d49c5577682dd4fba35bfd5fb15f7287c7d5a +--- 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; +@@ -1174,13 +1175,14 @@ static gboolean playcounts_plist_read (FImport *fimp, GValue *plist_data) + playcounts = g_hash_table_new_full (g_int64_hash, g_int64_equal, g_free, g_free); + + 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; + + to_parse = g_hash_table_lookup (track_dict, "persistentID"); |