r9298@dhcp-18-188-67-85: nickm | 2006-10-20 11:25:07 -0400

Weasel correctly notes that we should not discard the return value from connection_exit_begin_con.  Right now, the return value is always discardable, so this does not actually cause a bug, but it might later. So fix it.


svn:r8774
This commit is contained in:
Nick Mathewson 2006-10-20 15:26:02 +00:00
parent e5f064c983
commit 2d7cf75e42
2 changed files with 6 additions and 5 deletions

View File

@ -1829,7 +1829,8 @@ connection_ap_handshake_socks_reply(edge_connection_t *conn, char *reply,
* Note that we don't call connection_add() on the new stream! We wait
* for connection_exit_connect() to do that.
*
* Return -1 if we want to tear down <b>circ</b>. Else return 0.
* Return -(some circuit end reason) if we want to tear down <b>circ</b>.
* Else return 0.
*/
int
connection_exit_begin_conn(cell_t *cell, circuit_t *circ)
@ -2168,8 +2169,9 @@ connection_exit_connect(edge_connection_t *edge_conn)
/** Given an exit conn that should attach to us as a directory server, open a
* bridge connection with a socketpair, create a new directory conn, and join
* them together. Return 0 on success (or if there was an error we could send
* back an end cell for). Return -1 if the circuit needs to be torn down.
* Either connects exit_conn, frees it, or marks it, as appropriate.
* back an end cell for). Return -(some circuit end reason) if the circuit
* needs to be torn down. Either connects exit_conn, frees it, or marks it,
* as appropriate.
*/
static int
connection_exit_connect_dir(edge_connection_t *exit_conn)

View File

@ -984,8 +984,7 @@ connection_edge_process_relay_cell(cell_t *cell, circuit_t *circ,
"Begin cell for known stream. Dropping.");
return 0;
}
connection_exit_begin_conn(cell, circ);
return 0;
return connection_exit_begin_conn(cell, circ);
case RELAY_COMMAND_DATA:
++stats_n_data_cells_received;
if (( layer_hint && --layer_hint->deliver_window < 0) ||