diff --git a/tests/test_etcp_init_liveness.c b/tests/test_etcp_init_liveness.c index 8aea7051..651e81fa 100644 --- a/tests/test_etcp_init_liveness.c +++ b/tests/test_etcp_init_liveness.c @@ -246,12 +246,15 @@ static void request_boundaries(unsigned established) { unsigned rejected = 0, accepted = 0; for (unsigned variant = 0; variant < 2; variant++) { request.code = variant ? ETCP_INIT_REQUEST_NOINIT : ETCP_INIT_REQUEST; - for (unsigned length = 0; length < sizeof(request); length++) { + for (unsigned invalid = 0; invalid < sizeof(request) + sizeof(request.node_id); invalid++) { + unsigned length = invalid < sizeof(request) ? invalid : sizeof(request); + if (invalid >= sizeof(request)) request.node_id[invalid - sizeof(request)] ^= 1; struct ETCP_CONN before_conn; struct ETCP_LINK before_link; if (established) { memcpy(&before_conn, ep[1].conn, sizeof(before_conn)); memcpy(&before_link, first_link(1), sizeof(before_link)); } int connections = ep[1].inst->connections->count, pool_free = ep[1].inst->pkt_pool->free_count; size_t errors = ep[1].socket->pkt_format_errors; send_init_request_body(&request, length, 0); + if (invalid >= sizeof(request)) request.node_id[invalid - sizeof(request)] ^= 1; DEBUG_DEBUG(DEBUG_CATEGORY_DEBUG, "INIT_REQUEST boundary: established=%u code=%u body=%u errors=%zu->%zu", established, request.code, length, errors, ep[1].socket->pkt_format_errors); CHECK(ep[1].socket->pkt_format_errors == errors + 1 && ep[1].socket->errorcode != 0);