From: Wim Taymans Date: Fri, 30 Jan 2009 16:06:26 +0000 (+0100) Subject: Fix various leaks X-Git-Tag: 1.19.3~495^2~1595 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ae2521096aebf5d05a1c889cf082d36855583965;p=platform%2Fupstream%2Fgstreamer.git Fix various leaks Fix some leaks. --- 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;