[tor-commits] [tor/master] Remove redundant tor_free() in command_process_create_cell().

nickm at torproject.org nickm at torproject.org
Mon Aug 17 13:27:05 UTC 2015


commit 2e0a50abf415297a3e0e10c4147f738d3458c373
Author: Isis Lovecruft <isis at torproject.org>
Date:   Sun Aug 16 00:49:03 2015 +0000

    Remove redundant tor_free()  in command_process_create_cell().
    
     * FIXES #16823: https://bugs.torproject.org/16823
       If an OP were to send a CREATE_FAST cell to an OR, and that
       CREATE_FAST cell had unparseable key material, then tor_free() would
       be called on the create cell twice.  This fix removes the second
       (conditional on the key material being bad) call to tor_free(), so
       that now the create cell is always freed once, regardless of the status of
       the key material.
    
       (This isn't actually a double-free bug, since tor_free() sets its
       input to NULL, and has no effect when called with input NULL.)
---
 src/or/command.c |    1 -
 1 file changed, 1 deletion(-)

diff --git a/src/or/command.c b/src/or/command.c
index 719b107..af6e053 100644
--- a/src/or/command.c
+++ b/src/or/command.c
@@ -340,7 +340,6 @@ command_process_create_cell(cell_t *cell, channel_t *chan)
     if (len < 0) {
       log_warn(LD_OR,"Failed to generate key material. Closing.");
       circuit_mark_for_close(TO_CIRCUIT(circ), END_CIRC_REASON_INTERNAL);
-      tor_free(create_cell);
       return;
     }
     created_cell.cell_type = CELL_CREATED_FAST;



More information about the tor-commits mailing list