From 476e95dc28f601b7b71850d06426b5b77320e468 Mon Sep 17 00:00:00 2001 From: Stefan Kost Date: Tue, 5 Aug 2008 15:38:06 +0000 Subject: [PATCH] ext/vorbis/vorbisdec.c: Do not leak old taglist. Original commit message from CVS: * ext/vorbis/vorbisdec.c: Do not leak old taglist. --- ChangeLog | 5 +++++ ext/vorbis/vorbisdec.c | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 4eb712d..ed904dc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2008-08-05 Stefan Kost + + * ext/vorbis/vorbisdec.c: + Do not leak old taglist. + 2008-08-04 Stefan Kost * tests/icles/test-scale.c: diff --git a/ext/vorbis/vorbisdec.c b/ext/vorbis/vorbisdec.c index afd22d2..33304ce 100644 --- a/ext/vorbis/vorbisdec.c +++ b/ext/vorbis/vorbisdec.c @@ -682,7 +682,7 @@ vorbis_handle_comment_packet (GstVorbisDec * vd, ogg_packet * packet) { guint bitrate = 0; gchar *encoder = NULL; - GstTagList *list; + GstTagList *list, *old_list; GstBuffer *buf; GST_DEBUG_OBJECT (vd, "parsing comment packet"); @@ -694,8 +694,11 @@ vorbis_handle_comment_packet (GstVorbisDec * vd, ogg_packet * packet) gst_tag_list_from_vorbiscomment_buffer (buf, (guint8 *) "\003vorbis", 7, &encoder); + old_list = vd->taglist; vd->taglist = gst_tag_list_merge (vd->taglist, list, GST_TAG_MERGE_REPLACE); + if (old_list) + gst_tag_list_free (old_list); gst_tag_list_free (list); gst_buffer_unref (buf); -- 2.7.4