asn1_item_embed_new(): don't free an embedded item
authorRichard Levitte <levitte@openssl.org>
Tue, 24 Oct 2017 11:39:04 +0000 (13:39 +0200)
committerRichard Levitte <levitte@openssl.org>
Tue, 24 Oct 2017 18:52:12 +0000 (20:52 +0200)
commit03996c19c30575c48b254f10625d24f86058605b
tree0c9596ed8a0d4908cd160f9a5442eb438a367c99
parent4ce8bebcca90a1f8a3347be29df7a501043d4464
asn1_item_embed_new(): don't free an embedded item

The previous change with this intention didn't quite do it.  An
embedded item must not be freed itself, but might potentially contain
non-embedded elements, which must be freed.

So instead of calling ASN1_item_ex_free(), where we can't pass the
embed flag, we call asn1_item_embed_free() directly.

This changes asn1_item_embed_free() from being a static function to
being a private non-static function.

Reviewed-by: Rich Salz <rsalz@openssl.org>
Reviewed-by: Bernd Edlinger <bernd.edlinger@hotmail.de>
(Merged from https://github.com/openssl/openssl/pull/4579)
crypto/asn1/asn1_locl.h
crypto/asn1/tasn_fre.c
crypto/asn1/tasn_new.c