if (rh.command == RELAY_COMMAND_BEGIN_DIR) {
tor_assert(or_circ);
if (or_circ->p_conn && !tor_addr_is_null(&or_circ->p_conn->_base.addr))
- n_stream->_base.addr = or_circ->p_conn->_base.addr;
+ tor_addr_assign(&n_stream->_base.addr, &or_circ->p_conn->_base.addr);
return connection_exit_connect_dir(n_stream);
}
/* first check if exitconn->_base.address is an IP. If so, we already
* know the answer. */
- if (tor_addr_from_str(&addr, exitconn->_base.address)<0) {
+ if (tor_addr_from_str(&addr, exitconn->_base.address) >= 0) {
tor_addr_assign(&exitconn->_base.addr, &addr);
exitconn->address_ttl = DEFAULT_DNS_TTL;
return 1;