62477841a18233586e352d7b901addf18abc1d8a tried to address fragmentation
issues, but it did not address the case where the final EAP-TNC
message gets fragmented. Move the state update to the correct place
to address this case, too.
wpabuf_free(data->out_buf);
data->out_buf = NULL;
data->out_used = 0;
+ if (data->was_fail)
+ data->state = FAIL;
+ else if (data->was_done)
+ data->state = DONE;
} else {
wpa_printf(MSG_DEBUG, "EAP-TNC: Sending out %lu bytes "
"(%lu more to send)", (unsigned long) send_len,
return;
}
wpa_printf(MSG_DEBUG, "EAP-TNC: Fragment acknowledged");
- if (data->was_fail)
- data->state = FAIL;
- else if (data->was_done)
- data->state = DONE;
- else
- data->state = CONTINUE;
+ data->state = CONTINUE;
return;
}