diff options
author | Omar Tarabai <tarabai@devegypt.com> | 2014-07-28 09:26:15 +0000 |
---|---|---|
committer | Omar Tarabai <tarabai@devegypt.com> | 2014-07-28 09:26:15 +0000 |
commit | af4496e55d39c64c79a467b8ac38f5684007fefc (patch) | |
tree | 3ceb1d52b7e87d485ceb45c64097b7d42bb7160b | |
parent | 41b1ee0e9e10ae86dcd4dba9e06367c9cfaf68ad (diff) | |
download | gnunet-af4496e55d39c64c79a467b8ac38f5684007fefc.tar.gz gnunet-af4496e55d39c64c79a467b8ac38f5684007fefc.zip |
sensor: fix memory leaks
-rw-r--r-- | src/sensor/gnunet-service-sensor-update.c | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/src/sensor/gnunet-service-sensor-update.c b/src/sensor/gnunet-service-sensor-update.c index 354cd52c7..2064141de 100644 --- a/src/sensor/gnunet-service-sensor-update.c +++ b/src/sensor/gnunet-service-sensor-update.c | |||
@@ -488,6 +488,7 @@ load_update_points () | |||
488 | "Loaded update point `%s'.\n", | 488 | "Loaded update point `%s'.\n", |
489 | GNUNET_i2s_full (&up->peer_id)); | 489 | GNUNET_i2s_full (&up->peer_id)); |
490 | } | 490 | } |
491 | GNUNET_free (points_list); | ||
491 | return (NULL == up_head) ? GNUNET_SYSERR : GNUNET_OK; | 492 | return (NULL == up_head) ? GNUNET_SYSERR : GNUNET_OK; |
492 | } | 493 | } |
493 | 494 | ||
@@ -646,12 +647,27 @@ update_sensor (char *sensorname, | |||
646 | GNUNET_DISK_PERM_GROUP_WRITE | | 647 | GNUNET_DISK_PERM_GROUP_WRITE | |
647 | GNUNET_DISK_PERM_USER_EXEC | | 648 | GNUNET_DISK_PERM_USER_EXEC | |
648 | GNUNET_DISK_PERM_GROUP_EXEC); | 649 | GNUNET_DISK_PERM_GROUP_EXEC); |
650 | GNUNET_free (script_path); | ||
649 | } | 651 | } |
652 | GNUNET_free (sensors_dir); | ||
653 | GNUNET_free (sensor_path); | ||
650 | return GNUNET_OK; | 654 | return GNUNET_OK; |
651 | } | 655 | } |
652 | 656 | ||
653 | 657 | ||
654 | /** | 658 | /** |
659 | * Resets the service after we are done with an update. | ||
660 | * | ||
661 | * @param cls unused | ||
662 | * @param tc unused | ||
663 | */ | ||
664 | void reset (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | ||
665 | { | ||
666 | reset_cb (); | ||
667 | } | ||
668 | |||
669 | |||
670 | /** | ||
655 | * Handler of a sensor list message received from an update point. | 671 | * Handler of a sensor list message received from an update point. |
656 | * | 672 | * |
657 | * @param cls Closure (unused). | 673 | * @param cls Closure (unused). |
@@ -713,7 +729,7 @@ handle_sensor_full (void *cls, | |||
713 | { | 729 | { |
714 | updating = GNUNET_NO; | 730 | updating = GNUNET_NO; |
715 | cleanup_updatepoint (up_default); | 731 | cleanup_updatepoint (up_default); |
716 | reset_cb (); | 732 | GNUNET_SCHEDULER_add_continuation (&reset, NULL, 0); |
717 | } | 733 | } |
718 | else | 734 | else |
719 | GNUNET_CADET_receive_done (channel); | 735 | GNUNET_CADET_receive_done (channel); |