From ae2521096aebf5d05a1c889cf082d36855583965 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Fri, 30 Jan 2009 17:06:26 +0100 Subject: [PATCH] Fix various leaks Fix some leaks. --- gst/rtsp-server/rtsp-client.c | 8 +++++++- gst/rtsp-server/rtsp-media.c | 3 ++- gst/rtsp-server/rtsp-sdp.c | 1 + 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/gst/rtsp-server/rtsp-client.c b/gst/rtsp-server/rtsp-client.c index 3973cd5..610428a 100644 --- a/gst/rtsp-server/rtsp-client.c +++ b/gst/rtsp-server/rtsp-client.c @@ -86,6 +86,7 @@ send_response (GstRTSPClient *client, GstRTSPMessage *response) #endif gst_rtsp_connection_send (client->connection, response, NULL); + gst_rtsp_message_unset (response); } static void @@ -496,6 +497,7 @@ handle_setup_request (GstRTSPClient *client, GstRTSPUrl *uri, GstRTSPMessage *re /* serialize the server transport */ trans_str = gst_rtsp_transport_as_text (st); + gst_rtsp_transport_free (st); /* construct the response now */ code = GST_RTSP_STS_OK; @@ -752,8 +754,12 @@ handle_client (GstRTSPClient *client) /* ERRORS */ receive_failed: { + gchar *str; + str = gst_rtsp_strresult (res); g_message ("receive failed %d (%s), disconnect client %p", res, - gst_rtsp_strresult (res), client); + str, client); + g_free (str); + gst_rtsp_message_unset (&request); gst_rtsp_connection_close (client->connection); g_object_unref (client); return NULL; diff --git a/gst/rtsp-server/rtsp-media.c b/gst/rtsp-server/rtsp-media.c index fcb2fa8..6178e21 100644 --- a/gst/rtsp-server/rtsp-media.c +++ b/gst/rtsp-server/rtsp-media.c @@ -85,7 +85,8 @@ gst_rtsp_media_finalize (GObject * obj) } g_array_free (media->streams, TRUE); - gst_object_unref (media->pipeline); + if (media->pipeline) + gst_object_unref (media->pipeline); G_OBJECT_CLASS (gst_rtsp_media_parent_class)->finalize (obj); } diff --git a/gst/rtsp-server/rtsp-sdp.c b/gst/rtsp-server/rtsp-sdp.c index 4a53b65..52acf6e 100644 --- a/gst/rtsp-server/rtsp-sdp.c +++ b/gst/rtsp-server/rtsp-sdp.c @@ -139,6 +139,7 @@ gst_rtsp_sdp_from_media (GstRTSPMedia *media) g_string_free (fmtp, TRUE); } gst_sdp_message_add_media (sdp, smedia); + gst_sdp_media_free (smedia); } return sdp; -- 2.7.4