diff options
author | Colin Percival <cperciva@FreeBSD.org> | 2006-09-28 13:06:23 +0000 |
---|---|---|
committer | Colin Percival <cperciva@FreeBSD.org> | 2006-09-28 13:06:23 +0000 |
commit | 30a6ffb3330a4ce39d12906a7dda5c4d9ed91dc3 (patch) | |
tree | dd781c2038cbc6db2809f44aae4144784fa53814 /crypto/openssl/crypto/asn1 | |
parent | b55396780782c474e291f8557a14c033f4c6941d (diff) | |
download | src-30a6ffb3330a4ce39d12906a7dda5c4d9ed91dc3.tar.gz src-30a6ffb3330a4ce39d12906a7dda5c4d9ed91dc3.zip |
Correct multiple vulnerabilities in crypto(3).
Limit the size of public keys used in order to protect applications
from a denial of service via insane key sizes.
Security: FreeBSD-SA-06:23.openssl
Approved by: so (cperciva)
Notes
Notes:
svn path=/releng/4.11/; revision=162724
Diffstat (limited to 'crypto/openssl/crypto/asn1')
-rw-r--r-- | crypto/openssl/crypto/asn1/tasn_dec.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/crypto/openssl/crypto/asn1/tasn_dec.c b/crypto/openssl/crypto/asn1/tasn_dec.c index 2426cb6253a3..db6417a333ec 100644 --- a/crypto/openssl/crypto/asn1/tasn_dec.c +++ b/crypto/openssl/crypto/asn1/tasn_dec.c @@ -628,6 +628,9 @@ static int asn1_d2i_ex_primitive(ASN1_VALUE **pval, unsigned char **in, long inl ASN1err(ASN1_F_ASN1_D2I_EX_PRIMITIVE, ERR_R_NESTED_ASN1_ERROR); return 0; } else if(ret == -1) return -1; + + ret = 0; + /* SEQUENCE, SET and "OTHER" are left in encoded form */ if((utype == V_ASN1_SEQUENCE) || (utype == V_ASN1_SET) || (utype == V_ASN1_OTHER)) { /* Clear context cache for type OTHER because the auto clear when |