From: Alan T. DeKok Date: Thu, 19 Oct 2017 15:24:31 +0000 (-0400) Subject: more assertions and checks X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8b837d76dcdaceb346e0eb223b41eef666ef12fb;p=thirdparty%2Ffreeradius-server.git more assertions and checks --- diff --git a/src/main/unlang_interpret.c b/src/main/unlang_interpret.c index 105afd8d3dc..5b14aeb146d 100644 --- a/src/main/unlang_interpret.c +++ b/src/main/unlang_interpret.c @@ -1123,18 +1123,22 @@ static rlm_rcode_t unlang_parallel_run(REQUEST *request, unlang_parallel_t *stat for (i = 0; i < state->num_children; i++) { switch (state->children[i].state) { case CHILD_RUNNABLE: + rad_assert(state->children[i].child->backlog != NULL); + rad_assert(state->children[i].child->runnable_id >= 0); (void) fr_heap_extract(state->children[i].child->backlog, state->children[i].child); /* FALL-THROUGH */ case CHILD_YIELDED: + REQUEST_VERIFY(state->children[i].child); TALLOC_FREE(state->children[i].child); - rad_assert(request->runnable_id < 0); + rad_assert(state->children[i].child->runnable_id < 0); /* FALL-THROUGH */ default: state->children[i].state = CHILD_DONE; + state->children[i].child = NULL; state->children[i].instruction = NULL; break; }