summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2016-06-14 23:54:56 +0200
committerRichard Levitte <levitte@openssl.org>2016-06-15 01:42:40 +0200
commita9b23465243b6d692bb0b419bdbe0b1f5a849e9c (patch)
treec5934845f9f18900a91015c3e6998fbfc4538a45
parent95fb422aceea9f48e3f5f04c745801fcbf953012 (diff)
Always check that the value returned by asn1_do_adb() is non-NULL
Reviewed-by: Stephen Henson <steve@openssl.org> Reviewed-by: Emilia Käsper <emilia@openssl.org> (cherry picked from commit bace847eae24f48adc6a967c6cce7f8d05bbeda3)
-rw-r--r--crypto/asn1/tasn_dec.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/crypto/asn1/tasn_dec.c b/crypto/asn1/tasn_dec.c
index 6bdcd5c542..cda19bb8d1 100644
--- a/crypto/asn1/tasn_dec.c
+++ b/crypto/asn1/tasn_dec.c
@@ -401,6 +401,8 @@ int ASN1_item_ex_d2i(ASN1_VALUE **pval, const unsigned char **in, long len,
const ASN1_TEMPLATE *seqtt;
ASN1_VALUE **pseqval;
seqtt = asn1_do_adb(pval, tt, 1);
+ if (!seqtt)
+ continue;
pseqval = asn1_get_field_ptr(pval, seqtt);
ASN1_template_free(pseqval, seqtt);
}