aboutsummaryrefslogtreecommitdiff
path: root/src/exit
diff options
context:
space:
mode:
Diffstat (limited to 'src/exit')
-rw-r--r--src/exit/gnunet-daemon-exit.c16
1 files changed, 13 insertions, 3 deletions
diff --git a/src/exit/gnunet-daemon-exit.c b/src/exit/gnunet-daemon-exit.c
index fc29849b5..f1478d574 100644
--- a/src/exit/gnunet-daemon-exit.c
+++ b/src/exit/gnunet-daemon-exit.c
@@ -3778,6 +3778,7 @@ run (void *cls,
3778 }; 3778 };
3779 struct GNUNET_HashCode port; 3779 struct GNUNET_HashCode port;
3780 char *policy; 3780 char *policy;
3781 char *helper_path;
3781 char *binary; 3782 char *binary;
3782 char *regex; 3783 char *regex;
3783 char *prefixed_regex; 3784 char *prefixed_regex;
@@ -3797,7 +3798,14 @@ run (void *cls,
3797 GNUNET_SCHEDULER_shutdown (); 3798 GNUNET_SCHEDULER_shutdown ();
3798 return; 3799 return;
3799 } 3800 }
3800 binary = GNUNET_OS_get_libexec_binary_path ("gnunet-helper-exit"); 3801 helper_path = NULL;
3802 GNUNET_CONFIGURATION_get_value_string (cfg,
3803 "exit",
3804 "HELPER_PATH",
3805 &helper_path);
3806 binary = GNUNET_OS_get_binary_path ("gnunet-helper-exit",
3807 helper_path);
3808 GNUNET_free_non_null (helper_path);
3801 if (GNUNET_YES != 3809 if (GNUNET_YES !=
3802 GNUNET_OS_check_helper_binary (binary, 3810 GNUNET_OS_check_helper_binary (binary,
3803 GNUNET_YES, 3811 GNUNET_YES,
@@ -3812,7 +3820,6 @@ run (void *cls,
3812 global_ret = 1; 3820 global_ret = 1;
3813 return; 3821 return;
3814 } 3822 }
3815 GNUNET_free (binary);
3816 GNUNET_SCHEDULER_add_shutdown (&cleanup, 3823 GNUNET_SCHEDULER_add_shutdown (&cleanup,
3817 NULL); 3824 NULL);
3818 stats = GNUNET_STATISTICS_create ("exit", 3825 stats = GNUNET_STATISTICS_create ("exit",
@@ -3820,6 +3827,7 @@ run (void *cls,
3820 cadet_handle = GNUNET_CADET_connect (cfg); 3827 cadet_handle = GNUNET_CADET_connect (cfg);
3821 if (NULL == cadet_handle) 3828 if (NULL == cadet_handle)
3822 { 3829 {
3830 GNUNET_free (binary);
3823 GNUNET_SCHEDULER_shutdown (); 3831 GNUNET_SCHEDULER_shutdown ();
3824 return; 3832 return;
3825 } 3833 }
@@ -3827,6 +3835,7 @@ run (void *cls,
3827 if (GNUNET_OK != 3835 if (GNUNET_OK !=
3828 setup_exit_helper_args ()) 3836 setup_exit_helper_args ())
3829 { 3837 {
3838 GNUNET_free (binary);
3830 GNUNET_SCHEDULER_shutdown (); 3839 GNUNET_SCHEDULER_shutdown ();
3831 return; 3840 return;
3832 } 3841 }
@@ -3923,11 +3932,12 @@ run (void *cls,
3923 } 3932 }
3924 } 3933 }
3925 helper_handle = GNUNET_HELPER_start (GNUNET_NO, 3934 helper_handle = GNUNET_HELPER_start (GNUNET_NO,
3926 "gnunet-helper-exit", 3935 binary,
3927 exit_argv, 3936 exit_argv,
3928 &message_token, 3937 &message_token,
3929 NULL, 3938 NULL,
3930 NULL); 3939 NULL);
3940 GNUNET_free (binary);
3931} 3941}
3932 3942
3933 3943