No subject


Tue Mar 1 03:45:00 UTC 2011


circuitlist.c is inside the function
assert_cpath_layer_ok(const crypt_path_t *cp) and the
assert() occurs at the default-statement of
switch(cp->state)
{
    case CPATH_STATE_OPEN:
      ...
    case CPATH_STATE_CLOSED:
      ...
    case CPATH_STATE_AWAITING_KEYS:
      ...
    default:
      tor_assert(0);
}

It seems assert_cpath_layer_ok() got called just a hand
full of times in the source. Looking over them showed
the using of it in circuitlist.c at line 429 in the
function assert_cpath_ok(const crypt_path_t *cp).
The inline-comment /* layers must be in sequence of:
\"open* awaiting? closed*\" */ says it. cp->state could
be CPATH_STATE_AWAITING_KEYS (at least following lines
check for that), but assert_cpath_layer_ok() doesn\'t
allow that.

In hope this report helps and got readed by someone who
is somewhat deeper in the tor-code then me and is able
to fix it without breaking things.

your magicjoe



More information about the tor-talk mailing list