diff --git a/ChangeLog b/ChangeLog index 2b94298f20..63f83e80a4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2008-08-05 Stefan Kost + + * tests/examples/metadata/read-metadata.c: + Don't leak old taglist. + 2008-08-05 Wim Taymans Patch by: Olivier Crete diff --git a/tests/examples/metadata/read-metadata.c b/tests/examples/metadata/read-metadata.c index 730e450348..9c3d4c88c7 100644 --- a/tests/examples/metadata/read-metadata.c +++ b/tests/examples/metadata/read-metadata.c @@ -63,12 +63,14 @@ message_loop (GstElement * element, GstTagList ** tags) return TRUE; case GST_MESSAGE_TAG: { - GstTagList *new_tags; + GstTagList *new_tags, *old_tags; gst_message_parse_tag (message, &new_tags); - if (*tags) - *tags = gst_tag_list_merge (*tags, new_tags, GST_TAG_MERGE_KEEP); - else + if (*tags) { + old_tags = *tags; + *tags = gst_tag_list_merge (old_tags, new_tags, GST_TAG_MERGE_KEEP); + gst_tag_list_free (old_tags); + } else *tags = new_tags; break; }