Stop confusing out and asn_bio in BIO_new_NDEF()
authortb <tb@openbsd.org>
Mon, 13 Mar 2023 07:31:09 +0000 (07:31 +0000)
committertb <tb@openbsd.org>
Mon, 13 Mar 2023 07:31:09 +0000 (07:31 +0000)
commit282dcb706063792cec19ab7ed4b86a8216ce9e7f
tree569aec1f0a252738f42438da6e4e4467f0d5f6de
parent2e561c44013a4d5a371a4fcaf36241e43238c7df
Stop confusing out and asn_bio in BIO_new_NDEF()

BIO_new_NDEF() sets up an ASN.1 BIO to the output chain and then adds even
more BIOs. Since BIO_push(bio, new_tail) returns bio on success, after the
if ((out = BIO_push(asn_bio, out)) != NULL) the 'out' BIO and the 'asn_bio'
are the same. The code then goes on and uses one or the other. This is very
confusing. Simply stop using out once it's appended to asn_bio.

ok jsing
lib/libcrypto/asn1/bio_ndef.c