[tor-commits] [tor/master] Use memset() on intro1_data in hs_circ_send_introduce1()

nickm at torproject.org nickm at torproject.org
Fri Nov 17 13:42:59 UTC 2017


commit b8addf97463d9338558ec7c0b97b48eaa476fc55
Author: Neel Chauhan <neel at neelc.org>
Date:   Thu Nov 16 12:58:37 2017 -0500

    Use memset() on intro1_data in hs_circ_send_introduce1()
---
 src/or/hs_circuit.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/or/hs_circuit.c b/src/or/hs_circuit.c
index 9e7709504..7f5bbdaaf 100644
--- a/src/or/hs_circuit.c
+++ b/src/or/hs_circuit.c
@@ -1101,6 +1101,11 @@ hs_circ_send_introduce1(origin_circuit_t *intro_circ,
   tor_assert(ip);
   tor_assert(subcredential);
 
+  /* It is undefined behavior in hs_cell_introduce1_data_clear() if intro1_data
+   * has been declared on the stack but not initialized. Here, we set it to 0.
+   */
+  memset(&intro1_data, 0, sizeof(hs_cell_introduce1_data_t));
+
   /* This takes various objects in order to populate the introduce1 data
    * object which is used to build the content of the cell. */
   const node_t *exit_node = build_state_get_exit_node(rend_circ->build_state);





More information about the tor-commits mailing list