Commit 88c5d3ca authored by Andrea Shepard's avatar Andrea Shepard
Browse files

Clean keys on stack in rend_service_intro_has_opened()

parent d43ba536
Loading
Loading
Loading
Loading
+11 −4
Original line number Diff line number Diff line
@@ -1627,8 +1627,8 @@ rend_service_intro_has_opened(origin_circuit_t *circuit)
         this case, we might as well close the thing. */
      log_info(LD_CIRC|LD_REND, "We have just finished an introduction "
               "circuit, but we already have enough.  Closing it.");
      circuit_mark_for_close(TO_CIRCUIT(circuit), END_CIRC_REASON_NONE);
      return;
      reason = END_CIRC_REASON_NONE;
      goto err;
    } else {
      tor_assert(circuit->build_state->is_internal);
      log_info(LD_CIRC|LD_REND, "We have just finished an introduction "
@@ -1649,7 +1649,7 @@ rend_service_intro_has_opened(origin_circuit_t *circuit)
      }

      circuit_has_opened(circuit);
      return;
      goto done;
    }
  }

@@ -1695,9 +1695,16 @@ rend_service_intro_has_opened(origin_circuit_t *circuit)
    goto err;
  }

  return;
  goto done;

 err:
  circuit_mark_for_close(TO_CIRCUIT(circuit), reason);
 done:
  memset(buf, 0, sizeof(buf));
  memset(auth, 0, sizeof(auth));
  memset(serviceid, 0, sizeof(serviceid));

  return;
}

/** Called when we get an INTRO_ESTABLISHED cell; mark the circuit as a