fix resource leak in RTSP_ERROR case 31/156031/2 accepted/tizen/unified/20171018.062610 submit/tizen/20171017.080630
authorSeokHoon Lee <andy.shlee@samsung.com>
Tue, 17 Oct 2017 04:32:09 +0000 (13:32 +0900)
committerSeokHoon Lee <andy.shlee@samsung.com>
Tue, 17 Oct 2017 05:31:25 +0000 (14:31 +0900)
- add g_object_unref in RTSP_ERROR case.
- set wfd_msg to NULL after message_free for avoid double free
  in error case.

Signed-off-by: SeokHoon Lee <andy.shlee@samsung.com>
Change-Id: Ieab1eea9c33512bcc60d20666e6bd59ecdec2692

packaging/gst-plugins-tizen.spec
wfdmanager/wfdbase/gstwfdbasesrc.c
wfdmanager/wfdsrc/gstwfdsrc.c

index a50a2db393ee1f9845948abf45888c027561a163..7e171cfdfddd2456b06821e7f1ab1c94bac05ebf 100644 (file)
@@ -9,7 +9,7 @@
 Name:       gst-plugins-tizen
 Version:    1.0.0
 Summary:    GStreamer tizen plugins (common)
-Release:    46
+Release:    47
 Group:      Multimedia/Framework
 Url:        http://gstreamer.freedesktop.org/
 License:    LGPL-2.1+
index 16cf91f9de9f94ce8edbac6c1f12d127d5eaefe1..9de2017bef6557a6f7db325179fe1f448a08982a 100644 (file)
@@ -944,6 +944,7 @@ gst_wfd_base_src_send_request (GstWFDBaseSrc * src)
   }
 
   gst_wfd_message_free (wfd_msg);
+  wfd_msg = NULL;
 
   /* send request message  */
   GST_DEBUG_OBJECT (src, "send reuest...");
index b89c75f34c2e4be14e79bf490cb18d0e0c605880..b45cb870804ad36b273ecfc9d4a043c9d83e1e9e 100644 (file)
@@ -1193,10 +1193,14 @@ gst_wfd_src_switch_tcp (GstWFDBaseSrc *bsrc)
 {
   GstRTSPResult res = GST_RTSP_OK;
   GstWFDSrc *src = GST_WFD_SRC (bsrc);
+  GCancellable *cancellable;
 
-  if (GST_RTSP_OK != gst_rtsp_connection_accept (src->tcp, &src->tcp_connection, g_cancellable_new())) {
+  cancellable = g_cancellable_new();
+
+  if (GST_RTSP_OK != gst_rtsp_connection_accept (src->tcp, &src->tcp_connection, cancellable)) {
     g_socket_close (src->tcp, NULL);
     GST_ERROR ("Failed to accept connection");
+    g_object_unref(cancellable);
     return GST_RTSP_ERROR;
   } else {
     g_socket_close (src->tcp, NULL);