tree d213e2856fbe28d2bd7ea718e74adcf26d9a79fc
parent 62738e9b170705059ff878aeeba7e3f4f6582c47
author Manuel Pégourié-Gonnard <manuel.pegourie-gonnard@arm.com> 1489485480 +0100
committer Manuel Pégourié-Gonnard <manuel.pegourie-gonnard@arm.com> 1502271893 +0200

Add proper allocation of restart context

We'll need to store MPIs and other things that allocate memory in this
context, so we need a place to free it. We can't rely on doing it before
returning from ecp_mul() as we might return MBEDTLS_ERR_ECP_IN_PROGRESS (thus
preserving the context) and never be called again (for example, TLS handshake
aborted for another reason). So, ecp_group_free() looks like a good place to
do this, if the restart context is part of struct ecp_group.

This means it's not possible to use the same ecp_group structure in different
threads concurrently, but:
- that's already the case (and documented) for other reasons
- this feature is precisely intended for environments that lack threading

An alternative option would be for the caller to have to allocate/free the
restart context and pass it explicitly, but this means creating new functions
that take a context argument, and putting a burden on the user.
