summaryrefslogtreecommitdiff
path: root/src/or/rendservice.h
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2017-11-21 09:37:47 -0500
committerNick Mathewson <nickm@torproject.org>2017-12-08 14:47:19 -0500
commit176ad729d9b1ddeccdb3e721b5ab1bf64646223f (patch)
treebe4ff3e62b459859c7c87bf663a37e3806eac8f9 /src/or/rendservice.h
parent0792cc107ef588b9f9fa27165b73e19fbf07e92b (diff)
downloadtor-176ad729d9b1ddeccdb3e721b5ab1bf64646223f.tar.gz
tor-176ad729d9b1ddeccdb3e721b5ab1bf64646223f.zip
Change the free macro convention in the rest of src/or/*.h
Diffstat (limited to 'src/or/rendservice.h')
-rw-r--r--src/or/rendservice.h17
1 files changed, 13 insertions, 4 deletions
diff --git a/src/or/rendservice.h b/src/or/rendservice.h
index 5946e31861..7e9a5d6c51 100644
--- a/src/or/rendservice.h
+++ b/src/or/rendservice.h
@@ -117,7 +117,8 @@ typedef struct rend_service_t {
int max_streams_close_circuit;
} rend_service_t;
-STATIC void rend_service_free(rend_service_t *service);
+STATIC void rend_service_free_(rend_service_t *service);
+#define rend_service_free(s) FREE_AND_NULL(rend_service, (s))
STATIC char *rend_service_sos_poison_path(const rend_service_t *service);
STATIC int rend_service_verify_single_onion_poison(
const rend_service_t *s,
@@ -160,7 +161,11 @@ int rend_service_receive_introduction(origin_circuit_t *circuit,
int rend_service_decrypt_intro(rend_intro_cell_t *request,
crypto_pk_t *key,
char **err_msg_out);
-void rend_service_free_intro(rend_intro_cell_t *request);
+void rend_service_free_intro_(rend_intro_cell_t *request);
+#define rend_service_free_intro(req) do { \
+ rend_service_free_intro_(req); \
+ (req) = NULL; \
+ } while (0)
rend_intro_cell_t * rend_service_begin_parse_intro(const uint8_t *request,
size_t request_len,
uint8_t type,
@@ -183,9 +188,13 @@ void rend_service_init(void);
rend_service_port_config_t *rend_service_parse_port_config(const char *string,
const char *sep,
char **err_msg_out);
-void rend_service_port_config_free(rend_service_port_config_t *p);
+void rend_service_port_config_free_(rend_service_port_config_t *p);
+#define rend_service_port_config_free(p) \
+ FREE_AND_NULL(rend_service_port_config, (p))
-void rend_authorized_client_free(rend_authorized_client_t *client);
+void rend_authorized_client_free_(rend_authorized_client_t *client);
+#define rend_authorized_client_free(client) \
+ FREE_AND_NULL(rend_authorized_client, (client))
/** Return value from rend_service_add_ephemeral. */
typedef enum {