diff options
author | Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk> | 2010-12-12 22:13:13 +0100 |
---|---|---|
committer | Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk> | 2010-12-12 22:14:59 +0100 |
commit | 2056f4a63344836d717eecdac4bb2bbf47e6a3a5 (patch) | |
tree | 44239978ae4d33828c39b04cfc4c97470e43e056 | |
parent | ec300d007ddce9044afd5067d3ac249e7506396c (diff) |
jpegparse: avoid leaking converted comment string
-rw-r--r-- | gst/jpegformat/gstjpegparse.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/gst/jpegformat/gstjpegparse.c b/gst/jpegformat/gstjpegparse.c index 8dbc511c3..c1c65391b 100644 --- a/gst/jpegformat/gstjpegparse.c +++ b/gst/jpegformat/gstjpegparse.c @@ -562,7 +562,7 @@ gst_jpeg_parse_read_header (GstJpegParse * parse, GstBuffer * buffer) case COM:{ /* read comment and post as tag */ const guint8 *comment = NULL; - const gchar *comm; + gchar *comm; const gchar *env_vars[] = { "GST_JPEG_TAG_ENCODING", "GST_TAG_ENCODING", NULL }; @@ -572,7 +572,7 @@ gst_jpeg_parse_read_header (GstJpegParse * parse, GstBuffer * buffer) if (!gst_byte_reader_get_data (&reader, size - 2, &comment)) goto error; - comm = (const gchar *) comment; + comm = (gchar *) comment; comm = gst_tag_freeform_string_to_utf8 (comm, size - 2, env_vars); if (comm) { @@ -580,6 +580,7 @@ gst_jpeg_parse_read_header (GstJpegParse * parse, GstBuffer * buffer) parse->priv->tags = gst_tag_list_new (); gst_tag_list_add (parse->priv->tags, GST_TAG_MERGE_REPLACE, GST_TAG_COMMENT, comm, NULL); + g_free (comm); } break; } |