boringssl/crypto/asn1
David Benjamin 4f94a8381a asn1_item_embed_new(): don't free an embedded item
An embedded item wasn't allocated separately on the heap, so don't
free it as if it was.

Issue discovered by Pavel Kopyl

(Imported from upstream's cdc3307d4257f4fcebbab3b2b44207e1a399da05 and
65d414434aeecd5aa86a46adbfbcb59b4344503a.)

I do not believe this is actually reachable in BoringSSL, even in the
face of malloc errors. The only field which sets ASN1_TFLG_COMBINE is in
X509_ATTRIBUTE. That field's value is X509_ATTRIBUTE_SET which cannot
fail to initialize. (It is a CHOICE whose initialization consists of
setting the selector to -1 and calling the type's callback which is
unset for this type.)

Change-Id: I29c080f8a4ddc2f3ef9c119d0d90a899d3cb78c5
Reviewed-on: https://boringssl-review.googlesource.com/22365
Commit-Queue: Steven Valdez <svaldez@google.com>
Reviewed-by: Steven Valdez <svaldez@google.com>
CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
2017-10-30 18:51:58 +00:00
..
a_bitstr.c Remove redundant calls to |OPENSSL_cleanse| and |OPENSSL_realloc_clean|. 2017-09-18 19:16:51 +00:00
a_bool.c OpenSSL reformat x509/, x509v3/, pem/ and asn1/. 2016-01-19 17:01:51 +00:00
a_d2i_fp.c Remove some dead code from crypto/asn1. 2017-06-09 19:58:38 +00:00
a_dup.c OpenSSL reformat x509/, x509v3/, pem/ and asn1/. 2016-01-19 17:01:51 +00:00
a_enum.c Fix overflow checks when converting ASN.1 integers to long. 2017-10-27 19:08:08 +00:00
a_gentm.c Fix time offset calculation. 2017-05-03 16:23:16 +00:00
a_i2d_fp.c OpenSSL reformat x509/, x509v3/, pem/ and asn1/. 2016-01-19 17:01:51 +00:00
a_int.c Fix overflow checks when converting ASN.1 integers to long. 2017-10-27 19:08:08 +00:00
a_mbstr.c OpenSSL reformat x509/, x509v3/, pem/ and asn1/. 2016-01-19 17:01:51 +00:00
a_object.c Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
a_octet.c OpenSSL reformat x509/, x509v3/, pem/ and asn1/. 2016-01-19 17:01:51 +00:00
a_print.c Remove some dead code from crypto/asn1. 2017-06-09 19:58:38 +00:00
a_strnid.c Convert stack.h to use inline functions. 2017-05-22 15:06:04 +00:00
a_time.c Fix potential memory leak in ASN1_TIME_to_generalizedtime() 2017-03-21 18:10:51 +00:00
a_type.c Fix ASN1_INTEGER handling. 2016-05-03 16:58:51 +00:00
a_utctm.c Fix time offset calculation. 2017-05-03 16:23:16 +00:00
a_utf8.c OpenSSL reformat x509/, x509v3/, pem/ and asn1/. 2016-01-19 17:01:51 +00:00
asn1_lib.c Switch OPENSSL_VERSION_NUMBER to 1.1.0. 2017-09-29 04:51:27 +00:00
asn1_locl.h asn1_item_embed_new(): don't free an embedded item 2017-10-30 18:51:58 +00:00
asn1_par.c Remove ASN1_parse and ASN1_parse_dump. 2016-06-14 17:39:17 +00:00
asn1_test.cc Convert asn1_test to GTest. 2017-03-21 14:31:01 +00:00
asn_pack.c OpenSSL reformat x509/, x509v3/, pem/ and asn1/. 2016-01-19 17:01:51 +00:00
charmap.pl Tag a number of globals as const. 2015-01-14 21:53:00 +00:00
CMakeLists.txt Remove some dead code from crypto/asn1. 2017-06-09 19:58:38 +00:00
f_enum.c Purge some a2i functions. 2016-08-16 19:38:31 +00:00
f_int.c Purge some a2i functions. 2016-08-16 19:38:31 +00:00
f_string.c Purge some a2i functions. 2016-08-16 19:38:31 +00:00
tasn_dec.c Bound everything parsed by the legacy ASN.1 stack. 2017-09-15 22:57:22 +00:00
tasn_enc.c Remove ASN1_template_(i2d,d2i). 2017-09-15 22:53:43 +00:00
tasn_fre.c asn1_item_embed_new(): don't free an embedded item 2017-10-30 18:51:58 +00:00
tasn_new.c asn1_item_embed_new(): don't free an embedded item 2017-10-30 18:51:58 +00:00
tasn_typ.c Remove spurious ';' and fix indentation for macro arguments in one file 2016-08-03 21:41:01 +00:00
tasn_utl.c Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
time_support.c Fix miscellaneous clang-tidy warnings. 2017-08-01 20:39:46 +00:00