Explorar el Código

Bail early in cpuworker_onion_handshake_replyfn if the circuit is marked

Nick Mathewson hace 9 años
padre
commit
a598d0f575
Se han modificado 1 ficheros con 6 adiciones y 0 borrados
  1. 6 0
      src/or/cpuworker.c

+ 6 - 0
src/or/cpuworker.c

@@ -347,6 +347,12 @@ cpuworker_onion_handshake_replyfn(void *work_)
 
   circ->workqueue_entry = NULL;
 
+  if (TO_CIRCUIT(circ)->marked_for_close) {
+    /* We already marked this circuit; we can't call it open. */
+    log_debug(LD_OR,"circuit is already marked.");
+    goto done_processing;
+  }
+
   if (rpl.success == 0) {
     log_debug(LD_OR,
               "decoding onionskin failed. "