diff --git a/modules/consensus/esbocs/dap_chain_cs_esbocs.c b/modules/consensus/esbocs/dap_chain_cs_esbocs.c index 280eddfa17fb685580bfbb2994d37337f2ff0de7..cea7524335ac3dc7a4200ee86750aedfc2a28b9a 100644 --- a/modules/consensus/esbocs/dap_chain_cs_esbocs.c +++ b/modules/consensus/esbocs/dap_chain_cs_esbocs.c @@ -705,7 +705,8 @@ static void s_session_state_change(dap_chain_esbocs_session_t *a_session, enum s dap_chain_addr_t l_signing_addr_cur; dap_chain_addr_fill_from_sign(&l_signing_addr_cur, l_candidate_sign, a_session->chain->net_id); l_store->candidate = DAP_REALLOC(l_store->candidate, l_store->candidate_size + l_candidate_sign_size); - if (dap_chain_addr_compare(&l_signing_addr_cur, &a_session->cur_round.attempt_submit_validator)) { + if (dap_chain_addr_compare(&l_signing_addr_cur, &a_session->cur_round.attempt_submit_validator) && + l_store->candidate_size != l_candidate_size_exclude_signs) { // If it's the primary attempt validator sign, place it in the beginnig if (l_store->candidate_size > l_candidate_size_exclude_signs) memmove((byte_t *)l_store->candidate + l_candidate_size_exclude_signs + l_candidate_sign_size,