From: Benjamin O. <co...@pd...> - 2004-03-06 19:40:30
|
CVS Root: /home/cvs/gstreamer Module: gst-plugins Changes by: company Date: Sat Mar 06 2004 11:33:02 PST Log message: * ext/mad/gstid3tag.c: (gst_id3_tag_chain): fix huge leak: gst_buffer_merge doesn't unref the first argument itself. Modified files: . : ChangeLog ext/mad : gstid3tag.c Links: http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins/ChangeLog.diff?r1=1.386&r2=1.387 http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins/ext/mad/gstid3tag.c.diff?r1=1.22&r2=1.23 ====Begin Diffs==== Index: ChangeLog =================================================================== RCS file: /home/cvs/gstreamer/gst-plugins/ChangeLog,v retrieving revision 1.386 retrieving revision 1.387 diff -u -d -r1.386 -r1.387 --- a/ChangeLog 6 Mar 2004 18:39:38 -0000 1.386 +++ b/ChangeLog 6 Mar 2004 19:32:50 -0000 1.387 @@ -1,3 +1,9 @@ +2004-03-06 Benjamin Otte <ot...@gn...> + + * ext/mad/gstid3tag.c: (gst_id3_tag_chain): + fix huge leak: gst_buffer_merge doesn't unref the first argument + itself. 2004-03-06 Thomas Vander Stichele <thomas at apestaart dot org> * ext/mad/gstmad.c: (gst_mad_class_init), (gst_mad_update_info): Index: gstid3tag.c RCS file: /home/cvs/gstreamer/gst-plugins/ext/mad/gstid3tag.c,v retrieving revision 1.22 retrieving revision 1.23 diff -u -d -r1.22 -r1.23 --- a/gstid3tag.c 5 Mar 2004 23:32:36 -0000 1.22 +++ b/gstid3tag.c 6 Mar 2004 19:32:50 -0000 1.23 @@ -867,7 +867,10 @@ return; case GST_ID3_TAG_STATE_READING_V1_TAG: if (tag->buffer) { - tag->buffer = gst_buffer_merge (tag->buffer, buffer); + GstBuffer *temp; + temp = gst_buffer_merge (tag->buffer, buffer); + gst_data_unref (GST_DATA (tag->buffer)); + tag->buffer = temp; gst_data_unref (GST_DATA (buffer)); } else { tag->buffer = buffer; @@ -923,7 +926,10 @@ case GST_ID3_TAG_STATE_READING_V2_TAG: |