Commit 9a0a638c authored by Roger Dingledine's avatar Roger Dingledine
Browse files

point out bug


svn:r791
parent 9c8a54a3
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -483,6 +483,8 @@ void connection_ap_attach_pending(void)
      /* r<0: There was an error sending the begin cell; other pending  
       *   AP connections may succeed.
       */
      /* XXX r is only <0 if openssl can't generate random bytes. if
       * the begin failed, r==0 and the circ is closed. */
      connection_ap_handshake_socks_reply(conn, NULL, 0, 0);
      conn->marked_for_close = 1;
      conn->has_sent_end = 1; /* if the begin failed, don't try an end */
@@ -606,9 +608,11 @@ static int connection_ap_handshake_send_begin(connection_t *ap_conn, circuit_t *
  assert(ap_conn->socks_request);
  assert(ap_conn->socks_request->addr);

  if(crypto_pseudo_rand(STREAM_ID_SIZE, ap_conn->stream_id) < 0)
    return -1;
  if(crypto_pseudo_rand(STREAM_ID_SIZE, ap_conn->stream_id) < 0) {
    /* XXX can we just make this call abort if it fails? then this func could be a void. */
    /* FIXME check for collisions */
    return -1;
  }

  memcpy(payload, ap_conn->stream_id, STREAM_ID_SIZE);
  payload_len = STREAM_ID_SIZE + 1 +