|
@@ -52,9 +52,12 @@ lookup_v3_desc_as_dir(const uint8_t *key)
|
|
|
return digest256map_get(hs_cache_v3_dir, key);
|
|
|
}
|
|
|
|
|
|
+#define cache_dir_desc_free(val) \
|
|
|
+ FREE_AND_NULL(hs_cache_dir_descriptor_t, cache_dir_desc_free_, (val))
|
|
|
+
|
|
|
|
|
|
static void
|
|
|
-cache_dir_desc_free(hs_cache_dir_descriptor_t *desc)
|
|
|
+cache_dir_desc_free_(hs_cache_dir_descriptor_t *desc)
|
|
|
{
|
|
|
if (desc == NULL) {
|
|
|
return;
|
|
@@ -67,10 +70,9 @@ cache_dir_desc_free(hs_cache_dir_descriptor_t *desc)
|
|
|
|
|
|
* interface to cache entries. */
|
|
|
static void
|
|
|
-cache_dir_desc_free_(void *ptr)
|
|
|
+cache_dir_desc_free_void(void *ptr)
|
|
|
{
|
|
|
- hs_cache_dir_descriptor_t *desc = ptr;
|
|
|
- cache_dir_desc_free(desc);
|
|
|
+ cache_dir_desc_free_(ptr);
|
|
|
}
|
|
|
|
|
|
|
|
@@ -417,9 +419,12 @@ cache_client_desc_new(const char *desc_str,
|
|
|
return client_desc;
|
|
|
}
|
|
|
|
|
|
+#define cache_client_desc_free(val) \
|
|
|
+ FREE_AND_NULL(hs_cache_client_descriptor_t, cache_client_desc_free_, (val))
|
|
|
+
|
|
|
|
|
|
static void
|
|
|
-cache_client_desc_free(hs_cache_client_descriptor_t *desc)
|
|
|
+cache_client_desc_free_(hs_cache_client_descriptor_t *desc)
|
|
|
{
|
|
|
if (desc == NULL) {
|
|
|
return;
|
|
@@ -433,7 +438,7 @@ cache_client_desc_free(hs_cache_client_descriptor_t *desc)
|
|
|
|
|
|
|
|
|
static void
|
|
|
-cache_client_desc_free_(void *ptr)
|
|
|
+cache_client_desc_free_void(void *ptr)
|
|
|
{
|
|
|
hs_cache_client_descriptor_t *desc = ptr;
|
|
|
cache_client_desc_free(desc);
|
|
@@ -448,18 +453,21 @@ cache_intro_state_new(void)
|
|
|
return state;
|
|
|
}
|
|
|
|
|
|
+#define cache_intro_state_free(val) \
|
|
|
+ FREE_AND_NULL(hs_cache_intro_state_t, cache_intro_state_free_, (val))
|
|
|
+
|
|
|
|
|
|
static void
|
|
|
-cache_intro_state_free(hs_cache_intro_state_t *state)
|
|
|
+cache_intro_state_free_(hs_cache_intro_state_t *state)
|
|
|
{
|
|
|
tor_free(state);
|
|
|
}
|
|
|
|
|
|
|
|
|
static void
|
|
|
-cache_intro_state_free_(void *state)
|
|
|
+cache_intro_state_free_void(void *state)
|
|
|
{
|
|
|
- cache_intro_state_free(state);
|
|
|
+ cache_intro_state_free_(state);
|
|
|
}
|
|
|
|
|
|
|
|
@@ -472,22 +480,26 @@ cache_client_intro_state_new(void)
|
|
|
return cache;
|
|
|
}
|
|
|
|
|
|
+#define cache_client_intro_state_free(val) \
|
|
|
+ FREE_AND_NULL(hs_cache_client_intro_state_t, \
|
|
|
+ cache_client_intro_state_free_, (val))
|
|
|
+
|
|
|
|
|
|
static void
|
|
|
-cache_client_intro_state_free(hs_cache_client_intro_state_t *cache)
|
|
|
+cache_client_intro_state_free_(hs_cache_client_intro_state_t *cache)
|
|
|
{
|
|
|
if (cache == NULL) {
|
|
|
return;
|
|
|
}
|
|
|
- digest256map_free(cache->intro_points, cache_intro_state_free_);
|
|
|
+ digest256map_free(cache->intro_points, cache_intro_state_free_void);
|
|
|
tor_free(cache);
|
|
|
}
|
|
|
|
|
|
|
|
|
static void
|
|
|
-cache_client_intro_state_free_(void *entry)
|
|
|
+cache_client_intro_state_free_void(void *entry)
|
|
|
{
|
|
|
- cache_client_intro_state_free(entry);
|
|
|
+ cache_client_intro_state_free_(entry);
|
|
|
}
|
|
|
|
|
|
|
|
@@ -933,14 +945,14 @@ hs_cache_init(void)
|
|
|
void
|
|
|
hs_cache_free_all(void)
|
|
|
{
|
|
|
- digest256map_free(hs_cache_v3_dir, cache_dir_desc_free_);
|
|
|
+ digest256map_free(hs_cache_v3_dir, cache_dir_desc_free_void);
|
|
|
hs_cache_v3_dir = NULL;
|
|
|
|
|
|
- digest256map_free(hs_cache_v3_client, cache_client_desc_free_);
|
|
|
+ digest256map_free(hs_cache_v3_client, cache_client_desc_free_void);
|
|
|
hs_cache_v3_client = NULL;
|
|
|
|
|
|
digest256map_free(hs_cache_client_intro_state,
|
|
|
- cache_client_intro_state_free_);
|
|
|
+ cache_client_intro_state_free_void);
|
|
|
hs_cache_client_intro_state = NULL;
|
|
|
}
|
|
|
|