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:32:22 +0000 (09:32 +0000)
commite6dcb08984b2e3f765ab5a2f45aaf0a8cc263bba
tree3ea16d562e8620760c999168927330be09996a42
parent0c8f4229995bbb51bd29c314e2d71d7edce229de
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