gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r33433 - gnunet/src/sensor


From: gnunet
Subject: [GNUnet-SVN] r33433 - gnunet/src/sensor
Date: Wed, 28 May 2014 15:13:46 +0200

Author: otarabai
Date: 2014-05-28 15:13:46 +0200 (Wed, 28 May 2014)
New Revision: 33433

Modified:
   gnunet/src/sensor/gnunet-service-sensor.c
Log:
fix for memory leaks


Modified: gnunet/src/sensor/gnunet-service-sensor.c
===================================================================
--- gnunet/src/sensor/gnunet-service-sensor.c   2014-05-28 12:12:10 UTC (rev 
33432)
+++ gnunet/src/sensor/gnunet-service-sensor.c   2014-05-28 13:13:46 UTC (rev 
33433)
@@ -207,6 +207,7 @@
 {
   struct SensorInfo *sensorinfo = value;
 
+  GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, "Destroying sensor `%s'\n", 
sensorinfo->name);
   if(NULL != sensorinfo->gnunet_stat_get_handle)
   {
     GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, "Canceling a statistics get request 
for sensor `%s'\n", sensorinfo->name);
@@ -218,6 +219,24 @@
     GNUNET_SCHEDULER_cancel(sensorinfo->execution_task);
     sensorinfo->execution_task = GNUNET_SCHEDULER_NO_TASK;
   }
+  if(NULL != sensorinfo->name)
+    GNUNET_free(sensorinfo->name);
+  if(NULL != sensorinfo->def_file)
+    GNUNET_free(sensorinfo->def_file);
+  if(NULL != sensorinfo->description)
+    GNUNET_free(sensorinfo->description);
+  if(NULL != sensorinfo->category)
+    GNUNET_free(sensorinfo->category);
+  if(NULL != sensorinfo->capabilities)
+    GNUNET_free(sensorinfo->capabilities);
+  if(NULL != sensorinfo->gnunet_stat_service)
+    GNUNET_free(sensorinfo->gnunet_stat_service);
+  if(NULL != sensorinfo->gnunet_stat_name)
+    GNUNET_free(sensorinfo->gnunet_stat_name);
+  if(NULL != sensorinfo->ext_process)
+    GNUNET_free(sensorinfo->ext_process);
+  if(NULL != sensorinfo->ext_args)
+    GNUNET_free(sensorinfo->ext_args);
   GNUNET_free(sensorinfo);
   return GNUNET_YES;
 }
@@ -558,6 +577,7 @@
   datadir = GNUNET_OS_installation_get_path(GNUNET_OS_IPK_DATADIR);
   GNUNET_asprintf(&sensordir, "%ssensors%s",
       datadir, DIR_SEPARATOR_STR);
+  GNUNET_free(datadir);
 
   return sensordir;
 }
@@ -579,6 +599,7 @@
   GNUNET_DISK_directory_scan(sensordir, &reload_sensors_dir_cb, NULL);
   GNUNET_log(GNUNET_ERROR_TYPE_INFO, _("Loaded %d sensors from directory 
`%s'\n"),
       GNUNET_CONTAINER_multihashmap_size(sensors), sensordir);
+  GNUNET_free(sensordir);
 }
 
 /**




reply via email to

[Prev in Thread] Current Thread [Next in Thread]