diff options
author | Patrick Radizi <patrick.radizi at axis.com> | 2009-05-13 11:50:22 +0200 |
---|---|---|
committer | Wim Taymans <wim.taymans@collabora.co.uk> | 2009-05-25 10:57:59 +0200 |
commit | 301fc8a712273e16eabd3647ccf6a43a871e3ada (patch) | |
tree | 808107b1d2e3b42659bb162608daaf413da8ce24 /gst | |
parent | 047618849a3ae40e692646459b9f458692a8ea32 (diff) |
rtspsrc: fix memory leak of messages
Free messages correctly.
Fixes #577318
Diffstat (limited to 'gst')
-rw-r--r-- | gst/rtsp/gstrtspsrc.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/gst/rtsp/gstrtspsrc.c b/gst/rtsp/gstrtspsrc.c index b7f57774e..82bbfd1db 100644 --- a/gst/rtsp/gstrtspsrc.c +++ b/gst/rtsp/gstrtspsrc.c @@ -2951,6 +2951,7 @@ server_eof: GST_ELEMENT_WARNING (src, RESOURCE, READ, (NULL), ("The server closed the connection.")); src->connected = FALSE; + gst_rtsp_message_unset (&message); return GST_FLOW_UNEXPECTED; } interrupt: @@ -3001,6 +3002,7 @@ gst_rtspsrc_loop_udp (GstRTSPSrc * src) { gboolean restart = FALSE; GstRTSPResult res; + GstRTSPMessage message = { 0 }; GST_OBJECT_LOCK (src); if (src->loop_cmd == CMD_STOP) @@ -3010,7 +3012,6 @@ gst_rtspsrc_loop_udp (GstRTSPSrc * src) GST_OBJECT_UNLOCK (src); while (TRUE) { - GstRTSPMessage message = { 0 }; GTimeVal tv_timeout; /* get the next timeout interval */ @@ -3161,6 +3162,7 @@ handle_request_failed: GST_ELEMENT_ERROR (src, RESOURCE, WRITE, (NULL), ("Could not handle server message. (%s)", str)); g_free (str); + gst_rtsp_message_unset (&message); return GST_FLOW_ERROR; } connect_error: @@ -3197,6 +3199,7 @@ server_eof: GST_ELEMENT_WARNING (src, RESOURCE, READ, (NULL), ("The server closed the connection.")); src->connected = FALSE; + gst_rtsp_message_unset (&message); return GST_FLOW_UNEXPECTED; } } @@ -3647,6 +3650,7 @@ receive_error: handle_request_failed: { /* ERROR was posted */ + gst_rtsp_message_unset (response); return res; } server_eof: @@ -3654,6 +3658,7 @@ server_eof: GST_DEBUG_OBJECT (src, "we got an eof from the server"); GST_ELEMENT_WARNING (src, RESOURCE, READ, (NULL), ("The server closed the connection.")); + gst_rtsp_message_unset (response); return GST_FLOW_UNEXPECTED; } } |