tree a2b40b5206cd3ed29d9015f25a3becbc65742d8c
parent 4a55f638e259d101229f903737618b697139432a
author Hanno Becker <hanno.becker@arm.com> 1549372081 +0000
committer Hanno Becker <hanno.becker@arm.com> 1551191889 +0000

Clear peer's CRT chain outside before parsing new one

If an attempt for session resumption fails, the `session_negotiate` structure
might be partially filled, and in particular already contain a peer certificate
structure. This certificate structure needs to be freed before parsing the
certificate sent in the `Certificate` message.

This commit moves the code-path taking care of this from the helper
function `ssl_parse_certificate_chain()`, whose purpose should be parsing
only, to the top-level handler `mbedtls_ssl_parse_certificate()`.

The fact that we don't know the state of `ssl->session_negotiate` after
a failed attempt for session resumption is undesirable, and a separate
issue #2414 has been opened to improve on this.
