From da113b5ad7976c001633c7f79a2b8b95935f8176 Mon Sep 17 00:00:00 2001 From: Guillaume Desmottes Date: Tue, 28 Apr 2015 11:28:39 +0200 Subject: [PATCH] mxf: fix descriptor leak Free the existing descriptor array, if any, before replacing it. Fix leaks with the validate.file.playback.scrub_forward_seeking.test-mpeg2-mp3_mxf scenario. https://bugzilla.gnome.org/show_bug.cgi?id=748580 --- gst/mxf/mxfmetadata.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gst/mxf/mxfmetadata.c b/gst/mxf/mxfmetadata.c index 7c314e85e1..e306a55d20 100644 --- a/gst/mxf/mxfmetadata.c +++ b/gst/mxf/mxfmetadata.c @@ -2239,6 +2239,7 @@ mxf_metadata_source_package_resolve (MXFMetadataBase * m, GHashTable * metadata) if (d->linked_track_id == package->tracks[i]->track_id || (d->linked_track_id == 0 && package->n_essence_tracks == 1 && (package->tracks[i]->type & 0xf0) == 0x30)) { + g_free (package->tracks[i]->descriptor); package->tracks[i]->descriptor = g_new0 (MXFMetadataFileDescriptor *, 1); package->tracks[i]->descriptor[0] = d; @@ -2264,6 +2265,7 @@ mxf_metadata_source_package_resolve (MXFMetadataBase * m, GHashTable * metadata) n_descriptor++; } + g_free (package->tracks[i]->descriptor); package->tracks[i]->descriptor = g_new0 (MXFMetadataFileDescriptor *, n_descriptor); package->tracks[i]->n_descriptor = n_descriptor;