commit f549e4c36d0658b6255d3b9cf7c56131d4a37a57 Author: George Kadianakis desnacked@riseup.net Date: Wed Aug 14 17:16:06 2013 +0300
Write some free_all functions to free the auth. cookies.
We started allocating space for them on the heap in the previous commit.
Conflicts: src/or/ext_orport.h --- src/or/control.c | 8 ++++++++ src/or/control.h | 1 + src/or/ext_orport.c | 8 ++++++++ src/or/ext_orport.h | 1 + src/or/main.c | 3 +++ 5 files changed, 21 insertions(+)
diff --git a/src/or/control.c b/src/or/control.c index b6ba127..03b42af 100644 --- a/src/or/control.c +++ b/src/or/control.c @@ -4750,3 +4750,11 @@ control_event_clients_seen(const char *controller_str) "650 CLIENTS_SEEN %s\r\n", controller_str); }
+/** Free any leftover allocated memory of the control.c subsystem. */ +void +control_free_all(void) +{ + if (authentication_cookie) /* Free the auth cookie */ + tor_free(authentication_cookie); +} + diff --git a/src/or/control.h b/src/or/control.h index 3b2004b..be9476e 100644 --- a/src/or/control.h +++ b/src/or/control.h @@ -89,6 +89,7 @@ MOCK_DECL(void, control_event_bootstrap_problem,(const char *warn, int reason));
void control_event_clients_seen(const char *controller_str); +void control_free_all(void);
#ifdef CONTROL_PRIVATE /* Used only by control.c and test.c */ diff --git a/src/or/ext_orport.c b/src/or/ext_orport.c index 272fef4..fdcecac 100644 --- a/src/or/ext_orport.c +++ b/src/or/ext_orport.c @@ -633,3 +633,11 @@ connection_ext_or_start_auth(or_connection_t *or_conn) return 0; }
+/** Free any leftover allocated memory of the ext_orport.c subsystem. */ +void +ext_orport_free_all(void) +{ + if (ext_or_auth_cookie) /* Free the auth cookie */ + tor_free(ext_or_auth_cookie); +} + diff --git a/src/or/ext_orport.h b/src/or/ext_orport.h index 37874b5..ce45e5f 100644 --- a/src/or/ext_orport.h +++ b/src/or/ext_orport.h @@ -21,6 +21,7 @@ int connection_ext_or_process_inbuf(or_connection_t *or_conn);
int init_ext_or_cookie_authentication(int is_enabled); char *get_ext_or_auth_cookie_file_name(void); +void ext_orport_free_all(void);
#ifdef EXT_ORPORT_PRIVATE STATIC int connection_write_ext_or_command(connection_t *conn, diff --git a/src/or/main.c b/src/or/main.c index d8f86bc..33e1c64 100644 --- a/src/or/main.c +++ b/src/or/main.c @@ -52,6 +52,7 @@ #include "routerparse.h" #include "statefile.h" #include "status.h" +#include "ext_orport.h" #ifdef USE_DMALLOC #include <dmalloc.h> #include <openssl/crypto.h> @@ -2510,6 +2511,8 @@ tor_free_all(int postfork) memarea_clear_freelist(); nodelist_free_all(); microdesc_free_all(); + ext_orport_free_all(); + control_free_all(); if (!postfork) { config_free_all(); or_state_free_all();
tor-commits@lists.torproject.org