aboutsummaryrefslogtreecommitdiff
path: root/src/sensor
diff options
context:
space:
mode:
authorOmar Tarabai <tarabai@devegypt.com>2014-05-28 13:13:46 +0000
committerOmar Tarabai <tarabai@devegypt.com>2014-05-28 13:13:46 +0000
commitee7019c65d09225e211e43434ab0537682205254 (patch)
tree965088f28f6d666faf145feb13df92f20f523e8f /src/sensor
parent6ea5ae5699ccc2db2f9d294d88fb4cb5aa60f640 (diff)
downloadgnunet-ee7019c65d09225e211e43434ab0537682205254.tar.gz
gnunet-ee7019c65d09225e211e43434ab0537682205254.zip
fix for memory leaks
Diffstat (limited to 'src/sensor')
-rw-r--r--src/sensor/gnunet-service-sensor.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/sensor/gnunet-service-sensor.c b/src/sensor/gnunet-service-sensor.c
index 07e0ef1f7..4c5a66703 100644
--- a/src/sensor/gnunet-service-sensor.c
+++ b/src/sensor/gnunet-service-sensor.c
@@ -207,6 +207,7 @@ int destroy_sensor(void *cls,
207{ 207{
208 struct SensorInfo *sensorinfo = value; 208 struct SensorInfo *sensorinfo = value;
209 209
210 GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, "Destroying sensor `%s'\n", sensorinfo->name);
210 if(NULL != sensorinfo->gnunet_stat_get_handle) 211 if(NULL != sensorinfo->gnunet_stat_get_handle)
211 { 212 {
212 GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, "Canceling a statistics get request for sensor `%s'\n", sensorinfo->name); 213 GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, "Canceling a statistics get request for sensor `%s'\n", sensorinfo->name);
@@ -218,6 +219,24 @@ int destroy_sensor(void *cls,
218 GNUNET_SCHEDULER_cancel(sensorinfo->execution_task); 219 GNUNET_SCHEDULER_cancel(sensorinfo->execution_task);
219 sensorinfo->execution_task = GNUNET_SCHEDULER_NO_TASK; 220 sensorinfo->execution_task = GNUNET_SCHEDULER_NO_TASK;
220 } 221 }
222 if(NULL != sensorinfo->name)
223 GNUNET_free(sensorinfo->name);
224 if(NULL != sensorinfo->def_file)
225 GNUNET_free(sensorinfo->def_file);
226 if(NULL != sensorinfo->description)
227 GNUNET_free(sensorinfo->description);
228 if(NULL != sensorinfo->category)
229 GNUNET_free(sensorinfo->category);
230 if(NULL != sensorinfo->capabilities)
231 GNUNET_free(sensorinfo->capabilities);
232 if(NULL != sensorinfo->gnunet_stat_service)
233 GNUNET_free(sensorinfo->gnunet_stat_service);
234 if(NULL != sensorinfo->gnunet_stat_name)
235 GNUNET_free(sensorinfo->gnunet_stat_name);
236 if(NULL != sensorinfo->ext_process)
237 GNUNET_free(sensorinfo->ext_process);
238 if(NULL != sensorinfo->ext_args)
239 GNUNET_free(sensorinfo->ext_args);
221 GNUNET_free(sensorinfo); 240 GNUNET_free(sensorinfo);
222 return GNUNET_YES; 241 return GNUNET_YES;
223} 242}
@@ -558,6 +577,7 @@ get_sensor_dir()
558 datadir = GNUNET_OS_installation_get_path(GNUNET_OS_IPK_DATADIR); 577 datadir = GNUNET_OS_installation_get_path(GNUNET_OS_IPK_DATADIR);
559 GNUNET_asprintf(&sensordir, "%ssensors%s", 578 GNUNET_asprintf(&sensordir, "%ssensors%s",
560 datadir, DIR_SEPARATOR_STR); 579 datadir, DIR_SEPARATOR_STR);
580 GNUNET_free(datadir);
561 581
562 return sensordir; 582 return sensordir;
563} 583}
@@ -579,6 +599,7 @@ reload_sensors()
579 GNUNET_DISK_directory_scan(sensordir, &reload_sensors_dir_cb, NULL); 599 GNUNET_DISK_directory_scan(sensordir, &reload_sensors_dir_cb, NULL);
580 GNUNET_log(GNUNET_ERROR_TYPE_INFO, _("Loaded %d sensors from directory `%s'\n"), 600 GNUNET_log(GNUNET_ERROR_TYPE_INFO, _("Loaded %d sensors from directory `%s'\n"),
581 GNUNET_CONTAINER_multihashmap_size(sensors), sensordir); 601 GNUNET_CONTAINER_multihashmap_size(sensors), sensordir);
602 GNUNET_free(sensordir);
582} 603}
583 604
584/** 605/**