From: Tim-Philipp Müller Date: Tue, 2 Nov 2010 12:01:03 +0000 (+0000) Subject: tag: fix leak when parsing undefined EXIF tag into tag list X-Git-Tag: RELEASE-0.10.31~16 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3ecb114b61bc0f22445aac84d19db1c9a8678810;p=platform%2Fupstream%2Fgst-plugins-base.git tag: fix leak when parsing undefined EXIF tag into tag list gst_buffer_set_data() does not set GST_BUFFER_MALLOCDATA, but the code assumes the buffer takes ownership of the memory allocated earlier. --- diff --git a/gst-libs/gst/tag/gstexiftag.c b/gst-libs/gst/tag/gstexiftag.c index d73859b..e72bf3a 100644 --- a/gst-libs/gst/tag/gstexiftag.c +++ b/gst-libs/gst/tag/gstexiftag.c @@ -1223,8 +1223,12 @@ parse_exif_undefined_tag (GstExifReader * reader, const GstExifTagMatch * tag, tagtype = gst_tag_get_type (tag->gst_tag); if (tagtype == GST_TYPE_BUFFER) { - GstBuffer *buf = gst_buffer_new (); - gst_buffer_set_data (buf, data, count); + GstBuffer *buf; + + buf = gst_buffer_new (); + GST_BUFFER_DATA (buf) = data; + GST_BUFFER_MALLOCDATA (buf) = data; + GST_BUFFER_SIZE (buf) = count; data = NULL; gst_tag_list_add (reader->taglist, GST_TAG_MERGE_APPEND, tag->gst_tag,