Browse Source

Adjust control_reason when adjusting reason (related to 7902)

Nick Mathewson 11 years ago
parent
commit
e53e6caac5
1 changed files with 3 additions and 1 deletions
  1. 3 1
      src/or/relay.c

+ 3 - 1
src/or/relay.c

@@ -710,7 +710,7 @@ connection_ap_process_end_not_open(
   struct in_addr in;
   node_t *exitrouter;
   int reason = *(cell->payload+RELAY_HEADER_SIZE);
-  int control_reason = reason | END_STREAM_REASON_FLAG_REMOTE;
+  int control_reason;
   edge_connection_t *edge_conn = ENTRY_TO_EDGE_CONN(conn);
   (void) layer_hint; /* unused */
 
@@ -738,6 +738,8 @@ connection_ap_process_end_not_open(
     reason = END_STREAM_REASON_MISC;
   }
 
+  control_reason = reason | END_STREAM_REASON_FLAG_REMOTE;
+
   if (edge_reason_is_retriable(reason) &&
       /* avoid retry if rend */
       !connection_edge_is_rendezvous_stream(edge_conn)) {