diff options
author | Omar Tarabai <tarabai@devegypt.com> | 2014-05-28 13:13:46 +0000 |
---|---|---|
committer | Omar Tarabai <tarabai@devegypt.com> | 2014-05-28 13:13:46 +0000 |
commit | ee7019c65d09225e211e43434ab0537682205254 (patch) | |
tree | 965088f28f6d666faf145feb13df92f20f523e8f /src/sensor | |
parent | 6ea5ae5699ccc2db2f9d294d88fb4cb5aa60f640 (diff) | |
download | gnunet-ee7019c65d09225e211e43434ab0537682205254.tar.gz gnunet-ee7019c65d09225e211e43434ab0537682205254.zip |
fix for memory leaks
Diffstat (limited to 'src/sensor')
-rw-r--r-- | src/sensor/gnunet-service-sensor.c | 21 |
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 | /** |