fix memory leaks 76/43776/2 submit/tizen/20150714.011359
authorHyunjun Ko <zzoon.ko@samsung.com>
Tue, 14 Jul 2015 01:10:48 +0000 (10:10 +0900)
committerhj kim <backto.kim@samsung.com>
Tue, 14 Jul 2015 01:13:09 +0000 (18:13 -0700)
Change-Id: I2dc691ecea22fd0ae59ed54c8df527e6a34d09da

gst/rtsp-server/rtsp-client-wfd.c
gst/rtsp-server/rtsp-media-factory-wfd.c

index ba74919..d798884 100644 (file)
@@ -258,6 +258,8 @@ gst_rtsp_wfd_client_finalize (GObject * obj)
 
   GST_INFO ("finalize client %p", client);
 
+  if (priv->host_address)
+    g_free (priv->host_address);
   g_mutex_clear (&priv->keep_alive_lock);
   G_OBJECT_CLASS (gst_rtsp_wfd_client_parent_class)->finalize (obj);
 }
@@ -1425,7 +1427,7 @@ _set_wfd_message_body (GstRTSPWFDClient * client, GstWFDMessageType msg_type,
       g_string_append (buf, priv->host_address);
     } else {
       GST_ERROR_OBJECT (client, "Failed to get host address");
-      if (buf) g_string_free (buf, FALSE);
+      if (buf) g_string_free (buf, TRUE);
       goto error;
     }
 
index c4d26c5..54f1d4b 100644 (file)
@@ -498,10 +498,12 @@ _rtsp_media_factory_wfd_create_audio_capture_bin (GstRTSPMediaFactoryWFD *
   }
 
   priv->audio_queue = aqueue;
+  if (acodec) g_free (acodec);
 
   return TRUE;
 
 create_error:
+  if (acodec) g_free (acodec);
   return FALSE;
 }
 
@@ -546,12 +548,11 @@ _rtsp_media_factory_wfd_create_videotest_bin (GstRTSPMediaFactoryWFD * factory,
     vcodec = g_strdup (priv->video_encoder);
   else {
     GST_ERROR_OBJECT (factory, "Yet to support other than H264 format");
-    g_free (vcodec);
     goto create_error;
   }
 
   venc = gst_element_factory_make (vcodec, "videoenc");
-  g_free (vcodec);
+  if (vcodec) g_free (vcodec);
 
   if (!venc) {
     GST_ERROR_OBJECT (factory, "failed to create video encoder element");
@@ -647,6 +648,7 @@ _rtsp_media_factory_wfd_create_camera_capture_bin (GstRTSPMediaFactoryWFD *
     GST_ERROR_OBJECT (factory, "failed to create video encoder element");
     goto create_error;
   }
+  if (vcodec) g_free (vcodec);
 
   g_object_set (venc, "bitrate", priv->video_bitrate, NULL);
   g_object_set (venc, "byte-stream", 1, NULL);
@@ -734,12 +736,11 @@ _rtsp_media_factory_wfd_create_xcapture_bin (GstRTSPMediaFactoryWFD * factory,
     vcodec = g_strdup (priv->video_encoder);
   else {
     GST_ERROR_OBJECT (factory, "Yet to support other than H264 format");
-    g_free (vcodec);
     goto create_error;
   }
 
   venc = gst_element_factory_make (vcodec, "videoenc");
-  g_free (vcodec);
+  if (vcodec) g_free (vcodec);
 
   if (!venc) {
     GST_ERROR_OBJECT (factory, "failed to create video encoder element");
@@ -832,6 +833,7 @@ _rtsp_media_factory_wfd_create_xvcapture_bin (GstRTSPMediaFactoryWFD * factory,
     GST_ERROR_OBJECT (factory, "Yet to support other than H264 format");
     goto create_error;
   }
+  if (vcodec) g_free (vcodec);
 
   venc = gst_element_factory_make (vcodec, "videoenc");
   if (!venc) {