diff options
author | Matt Caswell <matt@openssl.org> | 2018-03-22 14:33:05 +0000 |
---|---|---|
committer | Matt Caswell <matt@openssl.org> | 2018-03-27 16:03:44 +0100 |
commit | 68f04fa1ddc71c67822796bee7abaf32a87203a8 (patch) | |
tree | d3ffe649d898e9d965d361b98075fc968d8e8a44 /crypto/asn1 | |
parent | b403cc386cb927f6838a2fc300cd1d872007ba65 (diff) |
Don't write out a bad OID
If we don't have OID data for an object then we should fail if we
are asked to encode the ASN.1 for that OID.
Fixes #5723
Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/5725)
(cherry picked from commit 53c9818e970fc0c22d77e19fda3b3e6f6c9e759d)
Diffstat (limited to 'crypto/asn1')
-rw-r--r-- | crypto/asn1/tasn_enc.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/crypto/asn1/tasn_enc.c b/crypto/asn1/tasn_enc.c index caa48696da..8b562ba1f4 100644 --- a/crypto/asn1/tasn_enc.c +++ b/crypto/asn1/tasn_enc.c @@ -528,6 +528,8 @@ static int asn1_ex_i2c(ASN1_VALUE **pval, unsigned char *cout, int *putype, otmp = (ASN1_OBJECT *)*pval; cont = otmp->data; len = otmp->length; + if (cont == NULL || len == 0) + return -1; break; case V_ASN1_NULL: |