summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVineeth T M <vineeth.tm@samsung.com>2015-09-17 13:47:23 +0900
committerSebastian Dröge <sebastian@centricular.com>2015-09-17 11:55:49 +0200
commite98addcc31c1bebde574f06e7b9d5bd67e8591e1 (patch)
tree9c1fdeeb2e99d68bcaaf2ee17e14f2e626609c4f
parent00438fdff0321495df5095dd68509809a8c56663 (diff)
downloadgstreamer-plugins-bad-e98addcc31c1bebde574f06e7b9d5bd67e8591e1.tar.gz
avdtputil: fix GError memory leak during failures
https://bugzilla.gnome.org/show_bug.cgi?id=755142
-rw-r--r--sys/bluez/gstavdtputil.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/sys/bluez/gstavdtputil.c b/sys/bluez/gstavdtputil.c
index 52a90a5b6..a435c6a2a 100644
--- a/sys/bluez/gstavdtputil.c
+++ b/sys/bluez/gstavdtputil.c
@@ -99,6 +99,7 @@ gst_avdtp_connection_acquire (GstAvdtpConnection * conn, gboolean use_try)
if (conn->data.conn == NULL) {
GST_ERROR ("Failed to create proxy for media transport: %s",
err && err->message ? err->message : "Unknown error");
+ g_clear_error (&err);
return FALSE;
}
@@ -154,11 +155,14 @@ gst_avdtp_connection_transport_release (GstAvdtpConnection * conn)
if (!bluez_media_transport1_call_release_sync (conn->data.conn, NULL, &err)) {
/* We don't care about errors if the transport was already marked stale */
- if (!conn->data.is_acquired)
+ if (!conn->data.is_acquired) {
+ g_clear_error (&err);
return;
+ }
GST_ERROR ("Failed to release transport stream: %s", err->message ?
err->message : "unknown error");
+ g_clear_error (&err);
}
conn->data.is_acquired = FALSE;
}
@@ -724,7 +728,6 @@ gboolean
gst_avdtp_connection_conf_recv_stream_fd (GstAvdtpConnection * conn)
{
struct bluetooth_data *data = &conn->data;
- GError *gerr = NULL;
GIOStatus status;
GIOFlags flags;
int fd;
@@ -740,7 +743,7 @@ gst_avdtp_connection_conf_recv_stream_fd (GstAvdtpConnection * conn)
/* set stream socket to nonblock */
flags = g_io_channel_get_flags (conn->stream);
flags |= G_IO_FLAG_NONBLOCK;
- status = g_io_channel_set_flags (conn->stream, flags, &gerr);
+ status = g_io_channel_set_flags (conn->stream, flags, NULL);
if (status != G_IO_STATUS_NORMAL)
GST_WARNING ("Error while setting server socket to nonblock");
@@ -757,7 +760,7 @@ gst_avdtp_connection_conf_recv_stream_fd (GstAvdtpConnection * conn)
/* set stream socket to block */
flags = g_io_channel_get_flags (conn->stream);
flags &= ~G_IO_FLAG_NONBLOCK;
- status = g_io_channel_set_flags (conn->stream, flags, &gerr);
+ status = g_io_channel_set_flags (conn->stream, flags, NULL);
if (status != G_IO_STATUS_NORMAL)
GST_WARNING ("Error while setting server socket to block");