ASN1_primitive_new NULL param handling
authorMatt Caswell <matt@openssl.org>
Wed, 11 Mar 2015 16:00:01 +0000 (16:00 +0000)
committerMatt Caswell <matt@openssl.org>
Thu, 12 Mar 2015 09:29:48 +0000 (09:29 +0000)
commit289c06823e52ce0e00b4f19ee260635ac1b02e98
tree6f4fae613d9beea449aae9436efbbc6fb7202ec1
parentff2459b91877959bc1a3a8a927c6b5f473530f86
ASN1_primitive_new NULL param handling

ASN1_primitive_new takes an ASN1_ITEM * param |it|. There are a couple
of conditional code paths that check whether |it| is NULL or not - but
later |it| is deref'd unconditionally. If |it| was ever really NULL then
this would seg fault. In practice ASN1_primitive_new is marked as an
internal function in the public header file. The only places it is ever
used internally always pass a non NULL parameter for |it|. Therefore, change
the code to sanity check that |it| is not NULL, and remove the conditional
checking.

Reviewed-by: Rich Salz <rsalz@openssl.org>
Reviewed-by: Andy Polyakov <appro@openssl.org>
(cherry picked from commit 9e488fd6ab2c295941e91a47ab7bcd346b7540c7)
crypto/asn1/tasn_new.c