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.
This commit is contained in:
Tim-Philipp Müller 2010-11-02 12:01:03 +00:00
parent 1c0b90661f
commit 3ecb114b61

View file

@ -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,