--- old/rlm_eap.c 2005-06-03 17:29:32.000000000 +0200 +++ new/rlm_eap.c 2005-06-03 17:34:42.000000000 +0200 @@ -535,16 +535,17 @@ */ rcode = data->callback(handler, data->tls_session); free(data); - if (rcode == 0) { - eap_handler_free(handler); - return RLM_MODULE_REJECT; - } - + /* * We are done, wrap the EAP-request in RADIUS to send * with all other required radius attributes */ - rcode = eap_compose(handler); + eap_compose(handler); + + if (rcode == 0) { + eap_handler_free(handler); + return RLM_MODULE_REJECT; + } /* * Add to the list only if it is EAP-Request, OR if