Do not call X509_alias_get0(3) with NULL as the second argument.
authorschwarze <schwarze@openbsd.org>
Sun, 29 Aug 2021 19:56:40 +0000 (19:56 +0000)
committerschwarze <schwarze@openbsd.org>
Sun, 29 Aug 2021 19:56:40 +0000 (19:56 +0000)
commit620855757d6e231a4a98dc8a3883406d9f6e3e53
treee358ad7692998d37f99e38a70f0d990ba8742c36
parent85e0fa93ec1f64b9514d94a7bf5ee1d2eff66a3f
Do not call X509_alias_get0(3) with NULL as the second argument.
Even if the buffer is guaranteed to be NUL-terminated in a particular
case, it is still setting a bad example.  Besides, it is unclear
to me whether there is any such guarantee in the case at hand.
Checking that would require auditing all of d2i_X509_bio(3),
ASN1_item_d2i_bio(&NETSCAPE_X509_it, ...), PEM_read_bio_X509_AUX(3),
and PKCS12_parse(3), since no such guarantee is documented for any
of these functions, and even then it would remain fragile with
respect to later changes of implementation details.

In the worst case, this could potentially result in a read buffer
overrun.

OK tb@ on an earlier version of this patch.

While we are here, deraadt@ requested to not use the word "string" in the
name of a variable that is not a string in the sense of the C language.
usr.bin/openssl/x509.c