From 0ccab4d247e5812875569d368836df76b41d299f Mon Sep 17 00:00:00 2001 From: =?utf8?q?Tommi=20My=C3=B6h=C3=A4nen?= Date: Fri, 16 Nov 2007 11:16:58 +0000 Subject: [PATCH] sys/: Don't leak the PAR on errors. Fixes #496731. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Original commit message from CVS: Patch by: Tommi Myöhänen * sys/ximage/ximagesink.c: (gst_ximagesink_xcontext_get), (gst_ximagesink_change_state): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xcontext_get): Don't leak the PAR on errors. Fixes #496731. --- ChangeLog | 9 +++++++++ sys/ximage/ximagesink.c | 1 + sys/xvimage/xvimagesink.c | 3 ++- 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 3888a72..aeadd28 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2007-11-16 Wim Taymans + + Patch by: Tommi Myöhänen + + * sys/ximage/ximagesink.c: (gst_ximagesink_xcontext_get), + (gst_ximagesink_change_state): + * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xcontext_get): + Don't leak the PAR on errors. Fixes #496731. + 2007-11-16 Tim-Philipp Müller * gst-libs/gst/tag/gstid3tag.c: (user_tag_matches), diff --git a/sys/ximage/ximagesink.c b/sys/ximage/ximagesink.c index 1bed764..61ed303 100644 --- a/sys/ximage/ximagesink.c +++ b/sys/ximage/ximagesink.c @@ -1214,6 +1214,7 @@ gst_ximagesink_xcontext_get (GstXImageSink * ximagesink) if (!px_formats) { XCloseDisplay (xcontext->disp); g_mutex_unlock (ximagesink->x_lock); + g_free (xcontext->par); g_free (xcontext); return NULL; } diff --git a/sys/xvimage/xvimagesink.c b/sys/xvimage/xvimagesink.c index af5b8a7..2e9da9d 100644 --- a/sys/xvimage/xvimagesink.c +++ b/sys/xvimage/xvimagesink.c @@ -1645,7 +1645,6 @@ gst_xvimagesink_xcontext_get (GstXvImageSink * xvimagesink) GST_DEBUG_OBJECT (xvimagesink, "X reports %dx%d pixels and %d mm x %d mm", xcontext->width, xcontext->height, xcontext->widthmm, xcontext->heightmm); - gst_xvimagesink_calculate_pixel_aspect_ratio (xcontext); /* We get supported pixmap formats at supported depth */ px_formats = XListPixmapFormats (xcontext->disp, &nb_formats); @@ -1653,6 +1652,7 @@ gst_xvimagesink_xcontext_get (GstXvImageSink * xvimagesink) if (!px_formats) { XCloseDisplay (xcontext->disp); g_mutex_unlock (xvimagesink->x_lock); + g_free (xcontext->par); g_free (xcontext); GST_ELEMENT_ERROR (xvimagesink, RESOURCE, SETTINGS, ("Could not initialise Xv output"), ("Could not get pixel formats")); @@ -1690,6 +1690,7 @@ gst_xvimagesink_xcontext_get (GstXvImageSink * xvimagesink) if (!xcontext->caps) { XCloseDisplay (xcontext->disp); g_mutex_unlock (xvimagesink->x_lock); + g_free (xcontext->par); g_free (xcontext); /* GST_ELEMENT_ERROR is thrown by gst_xvimagesink_get_xv_support */ return NULL; -- 2.7.4