mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-09-04 03:03:54 +00:00
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:
parent
1c0b90661f
commit
3ecb114b61
1 changed files with 6 additions and 2 deletions
|
@ -1223,8 +1223,12 @@ parse_exif_undefined_tag (GstExifReader * reader, const GstExifTagMatch * tag,
|
||||||
|
|
||||||
tagtype = gst_tag_get_type (tag->gst_tag);
|
tagtype = gst_tag_get_type (tag->gst_tag);
|
||||||
if (tagtype == GST_TYPE_BUFFER) {
|
if (tagtype == GST_TYPE_BUFFER) {
|
||||||
GstBuffer *buf = gst_buffer_new ();
|
GstBuffer *buf;
|
||||||
gst_buffer_set_data (buf, data, count);
|
|
||||||
|
buf = gst_buffer_new ();
|
||||||
|
GST_BUFFER_DATA (buf) = data;
|
||||||
|
GST_BUFFER_MALLOCDATA (buf) = data;
|
||||||
|
GST_BUFFER_SIZE (buf) = count;
|
||||||
data = NULL;
|
data = NULL;
|
||||||
|
|
||||||
gst_tag_list_add (reader->taglist, GST_TAG_MERGE_APPEND, tag->gst_tag,
|
gst_tag_list_add (reader->taglist, GST_TAG_MERGE_APPEND, tag->gst_tag,
|
||||||
|
|
Loading…
Reference in a new issue