Return the correct type for ASN.1 BOOLEANs
authortb <tb@openbsd.org>
Fri, 10 Mar 2023 09:56:09 +0000 (09:56 +0000)
committertb <tb@openbsd.org>
Fri, 10 Mar 2023 09:56:09 +0000 (09:56 +0000)
commitd6c4771174501c9b2e814ba41f3a0358ded80b43
tree289440a1c8355407f254db35a63d504d6b2b8cb4
parent580d1070f02f9321f3c363adfaad07b9ace82550
Return the correct type for ASN.1 BOOLEANs

ASN.1 BOOLEANs and ASN.1 NULL are handled specially in the ASN.1 sausage
factory and they are special in that they don't have a->value.ptr set.
Both need to be special cased here since they fail the a->type.ptr != NULL
check.

Apart from fixing an obvious bug in ASN1_TYPE_get(), this fixes another
crash in openssl(1) asn1parse. There is more to do in the vicinity, but
that is more complex and will have to wait for OpenBSD 7.3-current.

with/ok jsing
lib/libcrypto/asn1/a_type.c