Don't leak memory in the event of a failure in i2v_GENERAL_NAMES
authorMatt Caswell <matt@openssl.org>
Wed, 30 Oct 2019 13:20:33 +0000 (13:20 +0000)
committerMatt Caswell <matt@openssl.org>
Mon, 4 Nov 2019 12:49:18 +0000 (12:49 +0000)
commit45b244620a74248b46ebe1c85e86437b9641447a
tree30d3ee54273fc439266e6a0436f9251bbd372860
parentdcea51afe9e3aec83a0c53f435beec9bc0faa07b
Don't leak memory in the event of a failure in i2v_GENERAL_NAMES

i2v_GENERAL_NAMES call i2v_GENERAL_NAME repeatedly as required. Each
time i2v_GENERAL_NAME gets called it allocates adds data to the passed in
stack and then returns a pointer to the stack, or NULL on failure. If
the passed in stack is itself NULL then it allocates one.

i2v_GENERAL_NAMES was not correctly handling the case where a NULL gets
returned from i2v_GENERAL_NAME. If a stack had already been allocated then
it just leaked it.

Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/10300)
crypto/x509/v3_alt.c