Commit fff1054d authored by Nick Mathewson's avatar Nick Mathewson 👻
Browse files

Before freeing ewma objects, use memwipe instead of resetting magic.

parent 80e3dc47
...@@ -38,6 +38,7 @@ ...@@ -38,6 +38,7 @@
#include "core/or/circuitmux.h" #include "core/or/circuitmux.h"
#include "core/or/circuitmux_ewma.h" #include "core/or/circuitmux_ewma.h"
#include "lib/crypt_ops/crypto_rand.h" #include "lib/crypt_ops/crypto_rand.h"
#include "lib/crypt_ops/crypto_util.h"
#include "feature/nodelist/networkstatus.h" #include "feature/nodelist/networkstatus.h"
#include "app/config/or_options_st.h" #include "app/config/or_options_st.h"
...@@ -299,7 +300,7 @@ ewma_free_cmux_data(circuitmux_t *cmux, ...@@ -299,7 +300,7 @@ ewma_free_cmux_data(circuitmux_t *cmux,
pol = TO_EWMA_POL_DATA(pol_data); pol = TO_EWMA_POL_DATA(pol_data);
smartlist_free(pol->active_circuit_pqueue); smartlist_free(pol->active_circuit_pqueue);
pol->base_.magic = 0xDEAD901C; memwipe(pol, 0xda, sizeof(ewma_policy_data_t));
tor_free(pol); tor_free(pol);
} }
...@@ -366,7 +367,7 @@ ewma_free_circ_data(circuitmux_t *cmux, ...@@ -366,7 +367,7 @@ ewma_free_circ_data(circuitmux_t *cmux,
if (!pol_circ_data) return; if (!pol_circ_data) return;
cdata = TO_EWMA_POL_CIRC_DATA(pol_circ_data); cdata = TO_EWMA_POL_CIRC_DATA(pol_circ_data);
cdata->base_.magic = 0xDEADC14C; memwipe(cdata, 0xdc, sizeof(ewma_policy_circ_data_t));
tor_free(cdata); tor_free(cdata);
} }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment